Yes, but the trade-off being, the addresses in a 64bit OS, when running a 32 bit application are all virtual, which slows down the application a bit. It has to be done that way to allow the 32 bit application to be able to run in memory above 4GB.
Compiling a 32bit applcation to be a 64bit application almost doubles the resident memory size of the executable as 32 bit pointers become 64 bit pointers, so you need more RAM to run the same number of 32bit applications that are now 64bit applications.
Nothing is ever free.