Существует множество причин, по которым пул приложений может быть переработан. Необработанные исключения или зависание потоков - частая причина. Если вы не закрываете все свои SqlConnections и пул соединений пуст, это может привести к его перезапуску. Тайм-аут тупика - это еще один случай: если у вас есть тупик, он повесит рабочий процесс, и это вызовет перезапуск. Кроме того, если IIS использует ненормальное количество ресурсов на сервере, он будет перезагружен (я думаю, по умолчанию это 60%)
Есть также много настроек iis, которые будут запускать его. Существуют настройки для регулярной перезагрузки (чтобы очистить состояние сеанса), я думаю, что по умолчанию это один раз каждые 24 часа. У нас есть около 40 умеренно-тяжёлых общедоступных объектов, которые мы собираемся утилизировать в течение низких периодов.
Я почти уверен, что есть и другие причины. Люди, теряющие свои сессии, вероятно, лучше, чем сбой приложения или зависание сервера, поэтому это встроено в IIS. К сожалению, это может затруднить диагностику проблемы. Я бы посмотрел на вашу программу просмотра событий, когда происходит переработка, и посмотрю, есть ли что-нибудь интересное для начала. Следующим шагом будет отслеживание использования памяти, за которым последуют подробные записи в журнал.