Ich nehme an dass der Fehler bei 3&4 nur ein Folgefehler von dem Fehler bei Schritt 1&2 ist. Ob das stimmt könntest du verifizieren wenn du zwischen 1&2 und 3&4 alle generierten Files (Object Files etc.) löscht ("clean").
Wenn dann immer die selbe Fehlermeldung kommt, dann war das "out of memory" vermutlich ein Folgefehler. Und hat dann vermutlich nichts mit "zu wenig Speicher" zu tun, sondern damit dass versucht wurde defekte Files die bei Schritt 1&2 erzeugt wurden verwenden/weiterzuverarbeiten.
Die von dir verwendete IDE kenne ich leider nicht. Ich kann mir aber schon vorstellen dass es etliche Compiler oder Linker gibt die bei 100.000 globalen Variablen/Symbolen aussteigen. Die aktuellen Versionen der "grossen" Compiler (GCC, Clang, MSVC, Intel, ...) schaffen sowas locker, aber gerade ältere Compiler für Mikrocontroller/Embedded Systems können mit sowas schonmal Probleme bekommen.