<h2>Why is this an issue?</h2>
<p>
  When objects are freed, the <code>Destroy</code> destructor method is called.
  <code>Destroy</code> must be an <code>override</code> (or <code>virtual</code>) method.
</p>
<p>
  All classes inherit from <code>TObject</code>, which declares a virtual <code>Destroy</code>
  method, and should override this method to provide their own implementation.
</p>
<p>
  To ensure that ancestor class destructors are also called, <code>inherited</code> should be called
  at the end o