Well in the process of working on the "repro kit" for Microsoft, I stumbled on what looked like a way to work around the problem: create and dispose database objects, opening and closing connections, in a granular way. I modified all of the components of the Web Schedule browser, removed the shared Database connection from ACP.exe and other things (leaving myself open to subtle bugs). Well 3+ days later it turns out to be a bust. Although eventually I got the web UI completely free of DB expansions, once I started the scheduler itself or tried to use the desktop schedule browser, and especially while ACP is running a Scheduler Observation (AcquireScheduler), back to expanding database. Furthermore, by repeatedly opening and closing the database (creating and disposing database wrapper objects) the responsiveness of the web UI suffered badly. There is something really wrong with having multiple connections all right.

SCHEDULER-1785 - Database grows in large jumps until 2Gb then Scheduler N/G
ACP-1786 - Eliminate shared/cached database access object

I need to get this repro kit into the hands of MS and it is a time-consuming process. A lot of trial and error. I'm not going to make the mistake of going for a "sucker hack" again though. The DB really has changed its behavior in a bad way after all these years.