Some memory is taken by loading the wim file into memory before windows loads, and this memory is not accessible by the environment.
Also, depending how you are loading it, you could be loading the ISO file into memory via grub4dos, *then* loading the wim file from that into memory as well (basically taking up double the memory).
Easy way to tell is if you make a smaller wim (take out something big like .net), do you have more memory available?