C
Du mußt das delete dort aufrufen, wo du das bisherige Objekt nicht mehr benötigst - vor dem return ist also definitiv falsch. Ich meinte eher die Zuweisung in der TForm-Methode (durch das ...->Bitmap = ... signalisierst du, daß das alte Bitmap nicht mehr benötigt wird, also solltest du es entsorgen, bevor du die Verbindung darauf verlierst).
(btw, Smart-Pointer sind echt praktisch, um solche Probleme zu vermeigen)