В C # нет эквивалента деструктора - лучшее, что вы можете сделать, это добавить финализатор (который имеет синтаксис деструктора), который затем планируется выполнить в выделенном потоке финализатора, когда GC обычно собирает ваш объект - это, тем не менее, приводит к дополнительным накладным расходам и сохраняет ваш экземпляр объекта дольше, чем следовало бы. Тщательно рассмотрите вариант использования.