sl.Text hängt alle Zeilen zu einem String zusammen ... also in der SL liegt jede Zeile als eigenständiger String rum und danach müssen Alle nochmal in einen gemeinsamen String rein > doppelder Speicher und diesmal muß er sogar zusammenhängend im
RAM vorliegen.
Memo1.Lines.AddStrings(sl);
(ich weiß jetzt nicht, ob da schon ein BeginUpdate enthalten ist)