Greetings!
Unfortunately, this seems to be a kind of normal: As long as the DB is running, it will keep "leaking" file space .
Our virgin 2 GByte DB grew to 400 GB eventually, after running for months. "Shutdown defrag" frees a lot of the claimed file space, but not all and it depends on a restart.
Best solution I found so far is to Extract the DB to script and rebuild the DB from script. This brings the DB reliable down to the actual size and also provides nice backup snapshots in case of corruption.
(SHUTDOWN DEFRAG corrupted our databases last year, but seems to have gotten much more stable recently -- just a "gut feeling" though.)
Best regards
Andreas