Aha!!... esos es una demostración de que no hay que echarle la culpa al lenguaje hasta no estar seguros de quien es el culpable!!
Te agrego que cuando jachguate escribió su mensaje, yo estaba por "refutarlo" (porque lo había malentendido) diciendo que si un componente pertenece a un form o cualquier otro componente, estamos "obligados" a asignarle el owner, si es que queremos ser prolijos.
Agrego otro tema que me parece muy importante, y he visto muchos programadores experimentados que lo pasan por alto:
Cuando creamos una instancia de un objeto que vamos a eliminar en el mismo procedimiento, es MUY IMPORTANTE que escribamos un try...finally para siempre liberarlo.
Código:
var
MiObj: TObject;
begin
MiObj := TObject.Create;
Try
...
finally
MiObj.Free;
end;
Saludos!!