Nein.
Vielleicht mit FastMM im FullDebugMode, wenn er zu den Speicheranforderungen die ThreadID und CodeAdresse speichert.
Aber das drifft natürlich nur Speicheranforderungen über den Delphi-Speichermanager, aber nicht den vom
OLE oder direkt VirtualAlloc und Co.
Ein ShortString liegt direkt auf dem Heap, bzw. "in" einem Objekt/Record drin,
die anderen LongStrings (AnsiString, UnicodeString/String, UTF8String usw.) liegen im DelphiMM,
aber ein WideString wird über die OleAuth-
API verwaltet und nutzt demnach deren Speichermanager.
Variant (Strings/Arrays/Pointer) liegt ebenfalls oft außerhalb.
...
Man könnte sich selber in GetMem/FreeMem reinhängen und dort z.B. mitzählen.