I'd check a couple things: the recycle times for your IIS apppool, the process manager portal master settings, and the session state options. The application pool default in IIS is to recycle after 20 minutes I think. A recycle would kill off any session. The process manager portal master settings include an option for session timeout, but this should only affect the portal, not your application, but it's something to try. The session state options in IIS contains a session time out number of 20 minutes as well. I'm not sure that second one affects workflow, but it would be worth a try.