32-Bit Systems can only be allocate 3GB(since 1GB has to be set aside) to a single thread, they can however access more memory than the 4GB(32-bit) limit via PAE or other features. If you"re running a 32-bit application, you can only allocate 4GB to it(I think, otherwise it may only be 3GB there...