With my PN-40, and the 2.7 Firmware update for it, I can use either the internal or the expansion memory (SD card, and in my case a 32 gig SD card) to save GPX files each with up to 1000 waypoints. This pretty much allows me to hold an unlimited amount of caches on my device. I think that I could actually fit every cache in the world onto the PN-40 and still have PLENTY of room left over for maps and imagery from Delorme's online map library.
Most GPX files with about 1000 caches generated through my GSAK are about 800kb. So lets round that off to 1mb for a GPX file of 1000 caches. With about 1,040,000 active caches word wide, that means that it would take 1040 GPX files to hold them all when you have 1000 caches per file which means it would take 1040mb of room which would be a little over 1 Gig of memory and that leaves 31 gig on my SD card plus several hundred MBs of internal memory available!