The system limits the amount of virtual memory an application can use (see ulimit -Hv). This is likely to prevent Windows applications from working. The reason is that Wine needs to reserve (but not allocate/use) wide swaths of the memory range to prevent Linux libraries from loading in places that Windows applications need for other things.
Running ulimit -Hv on the command line should show you the current virtual memory limit. This should show you 'unlimited':
$ ulimit -Hv
If you get any other result you should look for the location where that limit is set. This will typically be through a call to ulimit in /etc/profile, /etc/bash.bashrc, $HOME/.profile or $HOME/.bashrc.
We're rebels. We're misfits. But mostly, we're software liberators. And we're very, very good at what we do. We have to be. Lots of developers work with open source, but only a tiny fraction of those are good enough to get software that was designed for one platform to work on another one. We invented CrossOver software - a unique approach to cross-platform compatibility that does not require dual-boot or another OS license. We launched PortJump to help app and game developers broaden their market beyond Windows® users. And we launched ExecMode to help organizations solve really ugly technical challenges.