C # не имеет «деструкторов», как вы, вероятно, думаете о них.С помощью сборщика мусора в .NET сбор объектов не будет происходить сразу же, когда ваш класс выйдет из области видимости.
Я думаю, что вас больше интересует шаблон IDisposable.Это детерминированный способ очистки ресурсов, которые использует ваш объект.
Кроме того, классы .NET могут иметь «финализаторы», которые выполняются при сборе объекта.Его можно использовать для вызова dispose, если исходный вызывающий объект вашего объекта игнорируется.
Но реализация финализатора в вашем классе ставит его в очередь для специальной обработки для GC и может оказать влияние на производительность.