The project is ASP.NET 2.0, I have never been able to reproduce this myself, but I get emails informing me it happens to clients many times a week, often a few times in a row.>
Session Timeout
This can be due to your session timeout being too low. Check out the "sessionState" section of your Web.Config, e.g. :-
Which would set a session timeout of 60 minutes.
Application Pool Recycle
Another possible cause, and one which we ran into, is that your application pool is being recycled for some reason.
In out case it was because we were hitting a "Maximum virtual memory" setting, I just upped that and everything has been fine since.
Have a look in your System Event Log for 1010, 1011, 1074, 1077, 1078, 1079, 1080 and 1117 events from W3SVC and see if your app pool is being recycled and if so, it should state why.