Actually, you don't need to defrag DB to clear it. When you run a defrag, I think db is started/stoped, so why it would also clear. We saw TMP going away after stop completed. Maybe the defrag will help not having it back very high, but I don't remember. A OpsCenter TMP file at 12GB for days stopped and started again is now 15MB after 15min. It will come back to couple GB, I think it takes couple days.
But Symantec told us there is typical size and that no other customer facing this issue - but I ever heard that one :)
We have 7.6 maintenance pack 2.