OK, und wie werden dabei die Unterobjekte freigegeben?
Es wird doch nicht etwa jedes Objekt einzeln freigegeben, womöglich auch noch beginnend vom Anfang des Arrays und dann ständig jedes Objekt aus dem Array entfernt, die restlichen Einträge hochkopiert und dabei das Array stückchenweise verkleinert?
Ohne zu wissen was dein Code macht, kann dir keiner helfen.
PS: bei meinem himXML hatte ich anfangs auch diesen Effekt, bis ich das Freigeben umgestellt hatte > alle Kind-Objekte im Destructor freigeben und dann das Array komplett löschen.
PSS: Warum nutzt du keine TObjektList?