Windows 7 is going to require quite a bit more RAM to run continually because there's a lot more to the operating system compared to Windows XP. A lot of that RAM usage is in the graphical user interface (GUI) of Windows 7 which is much more powerful and much more "fancy" than Windows XP. There's also more daemons, or services, that are running within Windows 7 which all and all just means you need more horsepower to run it.
One thing that Round Man mentioned above I think might confuse some people about memory access in a 32-bit operating system. First off, a 32-bit application (doesn't matter if you are even running in a 64-bit version of Windows, in this case it's limited by the software architecture itself) such as Flexi or 90% of your applications out there today, the software can only utilize a MAXIMUM of 2 GB of RAM. There is a script switch that can be set in boot.ini to enable up to 3 GB of RAM, but by default all 32-bit programs can only recognize a max of 2 GB of RAM. Now, a 32-bit system as you most likely know can only recognize a little less than 4 GB of RAM. This doesn't mean 4 GB of RAM per CPU or CPU core, it's a total of 4 GB even if you have a thousand CPU cores. It's a simple mathematical limitation (2^32 memory address allocations.) Your computer system in Windows XP may report slightly less than that amount (usually about 3 GB) but this is because the rest of that memory is being hidden from the other applications and being used solely for "housekeeping" tasks in Windows XP. Windows Vista and Windows 7 has changed this to display the total amount of RAM installed (even if it is more than 4 GB) and the total that is actually usable by the system.
Now, what can happen is Windows can utilize up to 2 GB of RAM per processes and in Windows 7 can even run multiple processes of the same application to take more advantage of larger amounts of RAM and CPU cores. An example of this multi-processes for a single program is explore.exe the program responsible for running the Windows GUI. In Windows 7 you can chose to have each window that you open (such as opening My Computer in 5 different windows) open a new process of explore.exe each time, meaning it can access up to 10 GB of RAM on up to 5 cores to handle those windows. Now, this option is not set by default, but it is a clever way for software designers now to get beyond the limitation of trying to remain in 32-bit software code and also break free of the 2 GB RAM limitation inherit with 32-bit software design.