Es kommt drauf an, viele Debuginfos landen garnicht in der EXE.
Delphi nutzt für Vieles die DCUs, welche mit oder ohne gewisse Informationen erzeugt werden können.
Tja und bei den Infos, welche wo anders abgelegt sind, gibt es natürlich auch einen Einfluß auf die Größe der EXE/
DLL/
BPL.
(Freepascal/Lazarus kompiliert dagegen viel mehr direkt in die EXE, weswegen deren EXEn standardmäßig ein ganzes Stückchen größer sind)
Die MAP-Datei und andere derartige Informationen bleiben ja auch extern, wobei einige Projekte diese z.B. als Resource (oder wie auch immer) in die EXE mit aufnehmen ... siehe z.B. EurekaLog.
(wird teilweise aber auch erst nach dem Compilieren eingefügt/angehängt)