The session could time out if the asp.net worker process is restarted. below are some issues which the process can restart
1- Modifying web.config file / replacing dll in the bin directory
2- deleting folders on the application root folder at runtime
3- Memory leaks