Perhaps you have a memory leak?
These are some definitions
# where the program is left running, and consumes more and more memory over time (especially in embedded devices which may be left running for many years);
# where the program is able to request memory (e.g. shared memory) that is not released, even when the program terminates;
# where the leak is happening inside the operating system
You should check you're background processes with KwikDisk or someother utility to see what memory is actually been using when programs are running.
Good analytical programs are (these are for C, but the Kernel has a LOT of C files and scripts)
and the howto is found here: http://www.faqs.org/docs/Linux-HOWTO...ind-HOWTO.html
I hope that helps you some