I think you need to understand what a2sd+ (i.e. with the ext partition) actually does. It provides some expansion room, but only for
part of the user-installed application.
If the script is working correctly, there will be an app directory on your ext partition and the apks of your apps will be there rather than in the internal memory. The directory in the internal memory where the phone expects the apks to be, /data/app, will be replaced by a link to the directory on the ext partition. So to the android system it appears as if the apks are in internal memory when they are actually on the card.
But the apk is only one part of an app. Another is the .dex file - these are the dalvik cache, which you have also moved in the same way (i.e. /data/dalvik-cache is now a pointer to a directory on the sd card). But all apps have other components, such as databases (settings & application data), library (in some cases), and others which depend on the application. And these live in the internal storage as well, in /data/data/<application>, and these elements are
not moved to ext by the a2sd script. Nor, apart from the library (if any), are they moved if you move to sd using the phone menu. So as you install more apps, some internal space is still used, just less than would have been. And if an app stores data (and your contacts, call log, messages etc are all application data) then that uses internal storage. And it's not just user-installed apps: system applications use internal storage for everything except the apk itself.
So the point is that an a2sd+ solution moves what are usually the largest elements of the app (the apk and dalvik) but not everything. Hence as you install more apps your internal space will still decrease, just slower than it would otherwise. With just 147 MB of internal space you will never fill a 1.5 GB ext partition because you will run out of internal space first.
So what can you do?
Firstly, data stored by apps uses internal space - that's why I said to check this was reasonable. Some apps can get carried away and store (permanently or temporarily) large amounts of data. A cache cleaning app may help a little if you are short of space.
Secondly, there are a few apps that take up less space if you move to sd using the phone menu rather than keep them on ext (under Gingerbread - this is not true with Froyo). That's because as I said above with GB the "move to sd" moves the library component of the app too. Many apps don't have a library, but a few have a very large one (Google Earth comes to mind).
Thirdly, since Oxygen is about half the size of the HTC ROM, you can use a custom HBOOT to shrink your /system partition (and also /cache) and hence enlarge the /data partition, i.e. repartition the phone storage so that you have more available for apps and data. You need to be S-Off to do this. The combination of a custom hboot plus ext partition is enough to solve storage problems for almost everyone
