I finally got my phone to work at a decent speed. Here are the things I did:
1. Used Apps2SD to move the apps from internal storage to SD Card. Wondering why this helped? As far as I understand the apps are run in RAM and internal storage is used for storing data and apks etc. RAM is freed up by Android as and when needed but freeing up internal storage doesn't give android more RAM.
2. Use Autorun Manager to prevent some apps from starting up and remaining in memory. Now this I understand because this gives more RAM to android and avoids unnecessary swapping when applications are started up.
3. Used 'SD Booster' to increase sd cache size to 8192Kb. This gave some initial benefits but later on it became very slow as usual.
Bottom line is I am still puzzled by Android memory and SD card management. I am pretty sure though process swapping in and out of memory is what caused my phone to slow down. My Samsung Droid Charge is supposed to have 512MB of RAM but most memory managers show only 374MB and 2 GB of internal storage and most tools show only 1.2GB. Why would this be? Am I missing something or should I use a different tool to analyze my memory.