Here is a simplified answer.
This sort of thing gets a Yes and No answer.
You have to understand that 32bit programs can only reach 4GB using standard 32bit address. There is a hardware provision to read/write lots more memory in the 32 bit mode, but that is used in systems that work as servers.
The hardware and the Operating need to have some memory that is never overwritten by programs and should an not be swapped to a page file. So the standard was to set up to 2GB for the system stuff and up to 2GB for the applications. Later, a crazy improvement was to allow 3GB to applications.
It is 'crazy' because it caused confusion and it was a dead end for high performance servers that had the hardware provision for lots more memory.
So, yes, 3GB is the piratical limit. It you install 4GB, some of it will be used and you may get a tad over 3GB, but no more. That's it. No room for growth.
Of course, the answer is to go 64bit. Then the issue is gone.
There is a short article on the Microsoft site about this. Or you could just do a Google and get more. Like I said, It has caused lots of confusion and people go on and on about how unfair it is. In retrospect, when Microsoft and Intel did the 32bit design, nobody foresaw that we would every get to 4GB of RAM.
Like it said, this is a simplified explanation. Ask for more if you like.