Yes, 'Compact on Close' is almost certainly the cause. When the database compacts, it is actually creating a new file, transferring all objects to the new file, deleting the old file, and then renaming the new one. If another user is in the database while it is trying to compact, then it can't...