32-bit CPU's are limited to a maximum of 4 GB of addressable RAM. 32-bit operating systems may or may not make all of that available to applications. Windows, for instance, only allows up to 2 GB to be used by an application and the other 2GB of addressable memory is only useable by the the OS.
64-bit CPU's have a theoretical memory space of 18,446,744,073,709,551,616 bytes (yeah, that's a LOT). But, there is no architecture today that could power the memory chips needed to hit that limit. Also, while most 64-bit chips can address that amount of memory, they do NOT support enough lines to physically reach that limit. Meaning they can work with numbers that can reach it but they don't actually provide a physical path to that much memory.
64-bit operating systems have the same limitations as 32-bit ones, which is to say they are limited by available physical memory and swap file space. Needless to say, 64-bit computing isn't going to hit its maximum limits any time soon.