The output of sar -r can be very useful for diagnosing the source of memory usage, especially over time (if you are running sar data collection)
ps -eo pid,vsz,rsz,comm | sort -rn -k 2,2 | head should help identify the biggest virtual memory users on your system.
In top did you sort the processes by memory usage instead of CPU?
Annihilannic.