All screenshots were taken on my home workstation (Dual PIII 1GHz, 768MB RAM). Brown color represents kernel memory usage (miscellaneous caches), red is for active memory (page/buffer cache in use and mapped pages - applications), yellow is inactive page/buffer cache, green is free memory and finally orange color represents swap usage.
On the first picture you can see what happens when cron runs updatedb process, refreshing file name database (used by locate command). Rather quickly memory gets consumed by various kernel caches as updatedb traverses filesystems. Those are mostly inode & dentry caches, used by the kernel to find and access a file. Obviously, I have lots of files as more than half of my memory gets used by the caches. If you had enough memory so that you can cache and keep all this valuable information in memory, second updatedb run would finish almost instantly, instead of few minutes of disk crunching.
On the second picture you see what happens if I now decide to transfer some big files (my backup archives) to another disk. As files are big and I'm reading & writing them sequentially (on two different spindles), copying goes really fast. Unfortunately, all our hardly earned cache gets expunged at the same fast rate. Then we see some fluctuations in the size of active page cache (kernel tries to adapt to a new situation) and finally everything settles down. What is left in the active page cache are applications that were running at the moment. While this is not a common scenario, it nicely demonstrates how kernel tries to cope with different workloads.