Okay so after some in depth research, it would seem that the "Too many heap sections" error is happening due to a GC limit in Unity. This bug was supposedly fixed, but I'm wondering if some people here still have a Unity DLL in a DLL search path from the older version of Unity. If this is the case, you'll get this error because Unity did have a bug at one point with its garbage collector and memory allocation code.
So with that said, I would try this:
Open command prompt, change directory to the VAM directory, then type in:
This will clear the dll search path for this shell environment.
Now run vam in the shell by typing:
This is just a theory. Try it and see if this fixes it.
Note, that removing the path variable for the environment means the program can't find DLLs from anywhere except its own working directory and binary paths configured in the application manifest. So if there are actually system DLLs that need to be loaded, you'll have to try
set PATH=%WINDIR%;
instead (or direct the path to whatever system directory that has the missing dll)