I can't answer conclusively, but I have a feeling that compiled SGDK2 projects are lighter weight than compiled Game Maker projects because compiled SGDK2 games are merely compiled .NET executables, and .NET has been reasonably well optimized on the Windows platform at least. So the games don't require any runtime the way version 1.x projects and Game Maker projects do (Game Maker has a "runner" program as I understand it from the Wikipedia article). If a game has a runtime component like that, it implies that it's interpreted rather than actually compiled. Compiled .NET programs, on the other hand, while they do rely on the "Common Language Runtime" (CLR) are compiled to native code. Compiled .NET code is represented in an intermediate language (Common Intermediate Language), which would be similar to an interpreted language/project,
however, rather than interpreting the code at runtime, as SGDK 1.x (and presumably Game Maker) does, the program is compiled to native code (by the CLR) before running it, which highly optimizes the runtime execution of the program as compared with interpreted code. Furthermore, this allows processor-specific optimizations because the program is compiled on the system where it will run instead of by a developer on a separate system whose configuration may not match the target system (though I don't expect much is gained by that kind of optimization these days since most environments are 32-bit and I can't think of many other processor-specific optimizations).
To read more about the CLR, see
http://en.wikipedia.org/wiki/Common_Language_RuntimeThere are many other benefits of relying on the CLR and "managed code", and one more worth mentioning is stability. Compiled .NET code is not nearly so prone to memory errors the way "un-managed" code is. So, although errors may occur in a .NET application, they are not usually related to memory management the way errors in programs written in older languages are. Practically eliminating a whole category of errors means significantly more stable applications in general.
Edit: I just looked at the Game Maker 7.0 documentation and confirmed that it is interpreted. In the section on speed considerations is the following statement implying that Game Maker projects are interpreted:
"Interpretation of code is reasonably fast, but it is interpreted."
That doesn't speak much about memory use, but is still an important consideration.