Originally Posted by: "birdsafe"
...Time out is set to 20 minutes...
The timeout you mention does not recycle the application. It only drops a single session from the session manager when the timeout expires. For example, if 3 people visited your site and only 2 are active, the 3 third session would be dropped after 20 minutes of inactivity. Note that the 20 minute timeout only applies if you are storing sessions in-memory (the default).
On the other hand, if the application is recycled, then all in-memory sessions are dropped.
I think what Noah was getting at, is there are many reasons for an application to recycle: memory exceeded, session count exceeded, running time exceeded, exception exceeded, and many more. Your site might be recycling for several reasons (which would explain why it seems to recycle often). But regardless of the reason, when the application recylcles, all of your in-memory sessions are dropped.
To really solve this, you need to get to the bottom of why the application is recylcing, and then deal with each issue.