Zitat von
Tonic1024:
Scheinbar wird der alte 30k große Block dabei aber nicht oder nicht sofort freigegeben
Er wird freigegeben, aber nicht für Windows. Der Delphi Speichermanager puffert die freigegeben Speicherblöcke, um schneller Speicher reservieren zu können, da der Windows Speichermanager dazu schon ein wenig mehr Zeit beansprucht.
Das "Problem" (würde es eher als Mishandlung des Speichermanagers bezeichnen) ist aber nicht nur beim Delphi Speichermanager vorhanden, sondern auch der C/C++ Speichermanager malloc/realloc/free hat das "Problem".