Dein Record scheint aber mindestens einen gemanagten Typen (String namens "aString") zu enthalten, der wird denke ich nicht vernünftig abgeräumt. Einfach nur der Platz für den Zeiger im Record wird freigegeben, der auf dem Heap angelegte Speicher für den String verbleibt auf ewig als Leiche dort.
Das ist kein String sondern ein PChar und da wird in der Schleife eine Stringkonstante übergeben.
Allerdings wäre die Offenlegung der Deklaration von PTestData sicher nicht schädlich.