Das Array speichert aber auch nur Pointer auf die Strings. Der Speicher für alle Strings muss also auch nicht in einem Stück vorliegen.
Dennoch ist 30 M × SizeOf(Pointer) am Stück oft schwieriger vom Memory Manager aufzutreiben als die jeweils nächsten 3 × SizeOf(Pointer).