Если Class1 реализует интерфейс IDisposable и имеет финализатор, среда выполнения попытается вызвать финализатор, когда домен приложения выгружен *. Если Class1 правильно следует шаблону dispose , финализатор должен вызвать dispose (false). Это будет правильное время для выгрузки любых неуправляемых ресурсов, используемых экземпляром Class1.
Однако при работе с объектом, который использует неуправляемые ресурсы, вы должны стремиться получить больший контроль над жизненным циклом объекта, а не просто запускать финализатор при завершении работы домена приложения.
* Даже финализатор не гарантированно будет вызываться при закрытии приложения ..