Mit try...finally hatte ich schon probiert, ohne Erfolg.
Die Funktion BuildNewFile ist, laut ausklammern, der Übeltäter.
Wenn deine Funktion eine Stringlist zurückgibt, ist das vorherige Erzeugen ausserhalb der Funktion definitiv das Problem; der angelegte Speicher wird nicht freigegeben da der Objektzeiger durch deine Funktionsrückgabe umgebogen wurde!
Dann habe ich da wohl ein Verständnisproblem.
Ich dachte, das ich, wenn ich eine StringList zurückliefere, diese auch in eine StringList Übergeben muss.