I mean that if multiple users share the same BE, which is typical, one of the FE users should NOT be trying to compact the BE. And since only the BE should ever need compacting, I would need more information to be more specific.
In a properly designed shared application, each user has his own personal copy of the FE and the FE should not bloat because you should not be writing code that causes bloat. The BE grows as records are added and so it needs compacting weekly or monthly depending on how rapidly the database grows. If you are inserting/deleting rows continuously or doing make-tables, there are better methods that don't bloat but we need to know what is causing the bloat and whether it is the FE or BE.