В C# никаких деструкторов не существует, тут тебе не C++. Всем рулит сборщик мусора, который сам решает, когда и что подчистить.
Максимум, что ты можешь сделать, намекнуть сборщику, дёрнув какой-нибудь .Dispose(), если разработчик класса предусмотрел это, либо всю конструкцию обернуть в
using {}