Memory optimizers may be useful, but more often than not aren't. They primarily claim do three things: 1) Reclaim leaked memory, 2) "Defragment" used memory, 3) Free unused memory.
Issue 1 only really applies to Win9x kernels. Back in the day, memory leaks were seemingly everywhere and the only way to reclaim leaked RAM was to reboot the system. NT is much better with its memory allocation and deallocation, reclaiming all memory (leaked or not) once an application has terminated.
Issue 2 is a non-issue, and always has been. RAM -- unlike hard drives -- is a inherently "random access" device. There are no seek penalties with RAM, so fragmented RAM is just as fast to use as defragmented RAM.
Issue 3 is the only case where a memory optimizer may come in handy. If you are truly limited in RAM and need some for opening a new application, it may help performance for the just-opened app a bit, although at the expense of the rest of the system slowing down. It does this by shuffling out infrequently used data from RAM to the page file, making room for other apps to reside in RAM. However, if you have a reasonable amount of free RAM, there isn't any reason to take the performance hit of moving data to the pagefile since a new app more than likely will be able to "fit" in RAM without problem.
JigPu