Вы наверняка знаете, что можно сделать static constructor. Для этого нужно просто написать
static MyClass() и сделать там свои грязные делишки.Но иногда хочется получить static destructor у этого же класса.
На практике я с таким столкнулся, когда в конструкторе я выделял память, которую нужно было где-то удалять.
Вопрос знатокам: каким образом вы бы решили такую проблему? Попробуйте не гуглить;) Своим решением поделюсь чуть позже.