As always it depends. If you are only concerned with memory, yes, you might be able to access a little more memory, but all your pointers are now twice a long so you need more memory!
There are a factors other than using that last 10-15% percent of your RAM which should go into it this decision.
Overall I would say yes, use 64 bit.
Here's why:
Better memory utilization. If you do have memory intensive 32 bit apps, they each get a full 4GB of flat address space. On 32-bit windows the max a 32 bit process can have is 2 GB (without serious tinkering).
Better performance - native 64 bit versions of many CPU/memory intensive apps, 7-zip, winRar, ffmpeg, video rendering or transcoding, etc. have about 10% better performance on the same hardware. But a few apps see the opposite effect, and 32-bit apps have some thunking overhead (which is remarkably minimal considering what is going on.)
drivers are more stable - Most drivers writers had to start over for 64-bit rather than keep porting their old frameworks from previous versions of the windows driver APIs. Also drivers must be signed which provides a higher barrier and better quality.
Security - memory protection features such as ASLR are more robust in 64-bit windows.
Reasons why not:
- 64 bit drivers - You can probably get drivers for almost all modern hardware, but you might have older hardware for which 64-bit drivers are not available. e.g. I have a high-quality flatbed scanner (USB) that happens to be 10 years old. It still works fine, but there are no 64-bit drivers for it and there never will be.
That is about the only reason I would keep a 32-bit machine around.
Embrace the future. 64-bit is definitely the way everything is going. You might as well experience it now.
Edit: I forgot one of the most important performance differences: People allways talk about 64-bit memory pointers and capacity, but I hardly ever hear people note that in x64 mode, processors have 16 general-purpose registers instead of just the 4 registers for x86 code!
Registers are the fastest possible memory locations as data has to get into these spots before the processor can actually work with it. Just like on-chip cache, having more makes a big difference -- if the code is compiled to use the additional registers (x64 compiled). This is the reason for the improved performance seen in x64 compilations of 7-zip, winRar, ffmpeg, etc.