Ganz einfach weil eine Prozedur das machen sollte, was ihre Bezeichnung aussagt. Und eine weitere Funktion an den Destruktor zu hängen finde ich unsauber.
Tipp: Schau dir mal BeforeDestruction an, da musst Du weder den Destructor überschreiben noch eine eigene Methode einführen.