--- the debug log should help answer your question
--- if a file is in-use, rclone will not remove it.
--- --allow-non-empty allows for over mounting, rarely needed.
I have a 100GB disk on my server and only 40GB is free. The backup generates 40 GB of data. To prevent the backup from filling up the disk, the backup data must be (almost) immediately written to remote storage. This means that the cache must be minimized. In addition, I must be sure that at the end of the backup all data is present in the remote storage (and deleted from the local disk).
I mean I can't wait for the backup to finish to get the cache synchronization, because the local disk gets full before the backup is finished.
As a test, just to check if all the files are really in the remote storage. Deleting the cache I realize that they are not, because when I remount the remote storage some files have disappeared. In this case I run a test with a small amount of files that does not cause the local disk to fill up, discovering that even in this case some files remain in the cache even after a few hours from the end of the backup. So I am convinced that I am doing something wrong with the rclone parameters.