I was just cleaning my notebook HDD so the next virtual OS would fit somewhere, when I found Firefox 'Cache' folder. It was about 621 Mbytes, which is not a big issue, but hey, I was cleaning seriously, so it had to go.
Then the next folder was 'Cache.Trash', whose size Total Commander couldn't count in 1 minute. I thought I just delete it rightaway (experimenting rocks!) then I got a few errors for some files being used. So I exited Firefox and the fun started automatically.
The folders inside 'Cache.Trash' - there was a gigazillion of them - began to disappear, one-by-one, 30 seconds later I checked Task manager and, yes, Firefox was still running. It was busy deleting those files and folders.
This nice garbage cleaning action took Firefox about 1 minute, which explains why exiting Firefox and starting it half-a-minute later might fail. And why it is a bad thing for the impatient to kill firefox.exe process immediately, when it seems to not exiting fast enough.