Ich glaub der erste Parameter ist eh der Sender und nicht der Empfänger.
Das ist korrekt. TThread.Synchronize ist einfach nur eine Klassenmethode der gleichnamigen Instanzmethode.
Delphi-Quellcode:
class procedure TThread.Synchronize(AThread: TThread; AMethod: TThreadMethod);
var
SyncRec: TSynchronizeRecord;
begin
if AThread <> nil then
AThread.Synchronize(AMethod)
else
// unbekannter Absender
end;