Ecco i punti principali da ricordare, dove nella parola "destructors" dovete sempre considerare il finalizzatore:
- Destructors are invoked automatically, and cannot be invoked explicitly.
- Destructors cannot be overloaded. Thus, a class can have, at most, one destructor.
- Destructors are not inherited. Thus, a class has no destructors other than the one, which may be declared in it.
- Destructors cannot be used with structs. They are only used with classes.
- An instance becomes eligible for destruction when it is no longer possible for any code to use the instance.
- Execution of the destructor for the instance may occur at any time after the instance becomes eligible for destruction.
- When an instance is destructed, the destructors in its inheritance chain are called, in order, from most derived to least derived.
Fonte: http://www.codeproject.com/csharp/csdest.asp