Natürlich produziert so etwas keine Speicherlöcher. Sobald die letzte Referenz auf ein dyn. Array (oder einen Record) weg ist - was hier beim verlassen der Prozedur der Fall ist - wird der Speicher freigegeben (außer ich reserviere ihn mir selbst mittels GetMem, New, etc.). Eigentlich bekannt?!