....Wenn ich mein Programm beende, dann wird der ganze Speicher wieder freigegeben, wie ich im Taskmanager verfolgen kann....
Stimmt so nicht! Wenn ich mich recht entsinne werden Dynamische Arrays anders behandelt,(pointer). Auch wenn Du Dein Programm beendest,(und es sieht so aus das alles Frei gegeben wird), ist der Speicher noch reserviert! Darum auch der Hinweis, beim Beenden Deines Progs alles explizit Frei zugegeben!
Gruss alfold