これは、特にASP.NETで長時間作業した後は、ばかげた/つまらない質問になる可能性があります:)が、確認する必要があります。
セッション(つまりASP.NETセッション)をアプリケーション(アプリインスタンス/アプリドメイン/アプリケーション変数)よりも長持ちさせることは可能ですか?
つまり、Global.asaxでApplication_Endが呼び出された場合、アクティブなセッションがなくなることを示していますか?新しいリクエストがあると、Application_Startの後に新しいSession_Startが続きますか?
セッションは常にInProcであるとは限らないことに注意してください。セッションは、状態サーバーまたはSQLサーバーにある可能性があります。