На основе документации (MSDN: ссылка ), ясно, что при реализации финализатора следует использовать шаблон IDisposable.
Но нужно ли вам реализовать финализатор, если вы реализуете IDisposable (чтобы обеспечить детерминированный способ удаления объекта), и у вас нет неуправляемого ресурсы для очистки?
Насколько я понимаю, если класс имеет только управляемые ресурсы и вы не вызываете Dispose, управляемые ресурсы будут автоматически очищены сборщиком мусора, и, следовательно, нет необходимости реализовывать финализатор. Я ошибаюсь?
А что, если я использую свой метод Dispose для очистки обработчиков событий. Поскольку сборщик мусора автоматически не вызывает Dispose, следует ли мне реализовать Finalizer, чтобы гарантировать, что обработчики событий не подключены?