Если требуется перезапустить приложение, ASP.NET выполнит обслуживание всех ожидающих запросов из существующего домена приложения и старых сборок до перезапуска домена приложения и загрузки новых сборок.
Похоже, происходит следующее: сохраняемый в памяти рабочего процесса исполняемый код дожидается окончания таймаута всех активных сессий. По умолчанию таймаут 30 минут. Для ускорения переинициализации приложения на этапе отладки следует выставить уменьшенное значение таймаута - по желанию - 1-2 минуты. Делается это примерно так:
<configuration> <system.web> <sessionState mode="InProc" timeout="2"/> </system.web> </configuration>