You are probably using 32-bit Python. The maximum limit for all 32-bit programs (this issue in fact has nothing to do with Python or Scipy) is 2GB --- how much memory you have installed on the machine does not matter. In practice, the allocation of large objects starts to fail already earlier, due to virtual memory fragmentation (and ~800 MB seems to be expected as a rule of thumb).
The solution would be to use 64-bit Python instead of the 32-bit one. For this, you need a 64-bit operating system such as Windows 7 or Linux.
However, if you are stuck with the 32-bit version of Windows XP, there are some tricks for bumping the 32-bit memory limit up to 3GB on 32-bit systems, which may help here.