Check post #52 in this thread. The hard 150 MB data/data partition is the crux of the problem. This is an Android OS limitation on every android phone. When the partition gets close to full (within ~10 MB from my observations) the low on space alarm goes off. Another contributing factor may be sloppy dev work (particular apps using this partition unnecessarily). I had one game app which generated ~30 MB worth of data in the data/data partition after playing just one level. Needless to say, that app was uninstalled posthaste. I think the devs are wising up to the limitation as the apps I always keep on my phone seem to be generating smaller footprints in this partition. Also, moving apps to the SD card *seems* to help on some apps. I'm rooted running CM7 nightlies changing about 2x a week. CM7 stock apps + ~150 user apps and my data/data sits at about 70 MB used. When I was stock and when running Sense-based roms, I was at about 120 - 130 MB used. Unfortunately, I don't know of any way to check this partition if you are not rooted.
daj