I haven't got the right answer for you, but I know how to do it in Classic ASP, and it will perhaps help you. I do not think it is about your session; I think it is a Server.ScriptTimeout issue, since this would do the trick in ASP...
Code:
<% Server.ScriptTimeout = 240 %>
more info. I had a similar problem where I needed to check for dead links in my database; that is, running some requests on each link in the DB, but if too many links were present I would get a timeout.
Hope it helps.
Jacob.