На самом деле я бы сказал, что основной целью состояния приложения является обратная совместимость с классическими приложениями ASP, и я бы никогда не использовал его в новых приложениях ASP.NET.
Как указали другие респонденты, кэш-памятьактивно управляется, так что данные будут отбрасываться при нехватке памяти.
Состояние приложения по существу эквивалентно статической хэш-таблице с семантикой блокировки, унаследованной от классического ASP.
Если вам нужно хранить статические данные, почти всегда лучше хранить их как строго типизированное статическое поле класса, а не использовать состояние приложения.Если вам нужна блокировка, используйте стандартные механизмы синхронизации .NET.