Delphi-Quellcode:
TempDaten := DatenListe.getItemAt(0);
try
...
finally
TempDaten; // macht beide free
end;
TempDaten und DatenListe.getItemAt(0) zeigen auf den selben Speicherbereich, machst du auf einen von beiden ein free, zeigen beide Pointer auf einen ungültigen Speicherbereich.