Originally posted by: the Chase
The issue is not the 2GB of system memory but the way Vista allocates virtual memory you hit the "2GB limit" described in this AT article-
http://www.anandtech.com/gadgets/showdoc.aspx?i=3034 . Bf2 does not flag the OS with LARGEADDRESSAWARE so even if you are running a 64 bit OS you still run out(or short) of virtual memory.
I had problems running the "Project Reality" mod for bf2 and certain maps would not even load and crash to desktop and/or be a stutter fest. Doing the "fix" in the AT article cured that with nothing else done. (I run Vista 64 so I didn't have to modify the OS like they did in the article).
Google "LARGEADDRESSAWARE for bf2" and you should get a step by step walkthrough for using MS Visual Studio C++ to set the flag for bf2.