Seems File#delete() on Java 6 kinda fails (or not robust). Many people experienced this. Suggestions over internet that I have tried,
- Call System.gc() before deletion
- Close all stream, buffered, or what
- check if it’s exists, writeable, and delete() return true. Unfortunately they’re all true.