Ah, you're running into the 32 bit OS limit
Basically, with a 32 bit OS, you have 2Gb of address space for a single process - regardless of how much memory or swap you have. It's called the ‘virtual address space’. And this is what you're running out of.
Now, you may think 1.3Gb is really short of the mark - but unfortunately, due to memory fragmentation and reserved memory for devices, your applications have less than 2Gb to play with. It varies per system, but 1.3-1.5Gb is often the limit.
Halo doesn't clear the cache because of still images & static animations. Many un-animated generators create these types of sequences, which are essentially time-invariant. So, if the results of these nodes are cached, there's less work to do. And over hundreds of frames, that's a good thing
Also, if you happen to be blending frames with Tima or Time Scale, this caching comes in very handy.
However, if all your inputs are animated and you're running into this issue, make sure that your Cook Cache size is set to something smaller (say, 512Mb) or insert the command ‘compfree’ into the Post Frame script of the ROP. Halo will always use as much memory as it needs to complete a cook, so even if you have the Cook Cache set to 10Mb, it may violate the cache setting temporarily while it is cooking the frame in order to complete it. So you could try setting it to a very low value as well (but be aware that interactivity in the COPs viewer will suffer as a result).