Here are answers/comments to your questions:
"What are your settings for BrowserCache HTML expiration time?"
- Some sites have the expiration time set to 3600 sec but some of them are with Browser Cache turned off. The behavior is the same.
"The plugin checks if file is older than current time minus 5 times the expiration time before it deletes the .old files during the garbage collection run."
- As I can remember, three or four release ago this didn't affect the cache file deleting if it was started manually (Performance -> Empty All Caches). In that case all files were removed no matter what the expiration time were. Is this changed in last few releases?
"Also what value do you have under garbage collection interval on Page Cache settings page?"
- Some sites have 3600 sec but some of them have values less than 1000. The behavior is the same.
"Do you have any issues with scheduled posts since both that and the garbage collection relies on wp-cron?"
No, I don't have any issues with scheduled posts. They are published
Please consider the following:
- The issue with cached files exists no matter of environments. Sites are hosted on different hosting providers with different environments (shared, dedicated, Centos, Ubuntu...). Tried with different W3TC options but it didn't help.
- Manual deleting cache (Performance -> Empty All Caches) used to work before two or three latest versions, i.e. after manual deleting the cache files on disk were removed. Now, the manual deleting doesn't delete the cache files located in /wp-content/cache/page_enhanced/%sitename%