This was an old behavior of ASE. Long ago. How old is the database? Was it originally upgraded through a few releases.?
I seem to recall that at the point where we did fix the page allocation for zero length, that there was a dbcc command that needed to be run on existing tables/columns (dbcc upgrade_object) to stop allocating empty pages for null text columns. This was in the EBF or MR release notes at the time.
Perhaps someone can remember the command that needs to be run. I will try look in my archives.
Chris