Ganz einfach. Wenn du ein dynamisches Array vergrößerst, wird Speicher reserviert für das alte plus die zusätzlichen Elemente. dann wird das alte Array in den neu reservierten Speicher kopiert. Der Speicherbereich des alten Arrays wird aber nicht wieder an Windows zurückgegeben, da der Delphi Speichermanger dahingegenoptimiert wurde kleine Speicherbereich zu verwalten, wie es bei der
OOP Programmierumng meist der Fall ist. Und jedes mal wieder Speicher von Windows anzufprdern kostet Zeit und bedeutet für Windows einen erhöhten Verwaltungsaufwand.