It looks like disk cache expiration is slow and tends to kick in when it's a bit too late. With the speed that modern apps chew through memory, I'm sent into a swap thrash and get sluggish response and beachballs.
MemoryKeeper on the App store seems to mostly clear the file cache and do some -fu to compact memory (maybe it's a memory defragment, the docs are a little lacking in technical details.) When I manually run it, everything runs great until the free memory dries up and I'm back in that alloc/swapthrash/cachepurge cycle again.
I wrote a tiny C program for linux to force cache expirations (in a very sloppy but reasonably portable way) back in '98 that I've started using again on osX, it fixes the issue and runs quite a bit quicker than MemoryKeeper. I can make it available if anyone else wants it.