Soo..
Ich habe das jetzt noch mal getestet. Es scheint wirklich an den Strings zu liegen. 3 Stück habe ich davon, kann aber nur ein String durch einen Integer ersetzen. Dies TAnyValue ist unschuldig!
Das Objekt durch ein Record zu ersetzen, bringt ca 20% an Speichereinsparung. Beim Durchsuchen der Liste wird dann aber mehr als das Doppelte an Zeit benötigt.
Ich glaube, ich muss meine Architektur noch mal überdenken....
Oder auf 64-Bit umstellen und
Ram kaufen.
Wahrscheinlich beides.
Achtung: Bin kein Informatiker sondern komme vom Bau.