Und welcher Threadmanager verarbeitet die Objekte/strings die in Thread A erzeugt werden und an Thread B gegeben werden?
Die erzeugten Objekt bleiben ja am Leben, egal ob sie im MM von Thread A oder B erzeugt wurden können von überall verwendet werden.
Wenn dich Speichermanagement in einer Multithread Umgebung ausbremst, dann bau dir nen Objektpool, so dass Instanzen nicht immer erzeugt und freigegeben werden.
Es bremst ja jeder GetMem() Aufruf, nicht nur ein TObject.Create(), sondern auch schon ein simples a := a + 'X'; oder ein TStringBuilder.Append('Bitte anhängen');
Natürlich kann man sein Programm auch an die Limits der
RTL anpassen und dafür Workarounds bauen.
Und da es hier etwas zum Wünschen gab: Schöner ist es natürlich, das Delphi das kann, was .NET und C++ auch schon lange können.