I've hit this a few times with various backup/sync tools - try building in a synced or backed up directory, you'll occasionally find you can't replace foo.exe because it's being synced at the time.
I am less irritated by this minor misdemeanor after finding one AV product which actually bugchecked (BSOD) the whole system any time a file was closed which had previously been opened by number. It seemed to create an internal record (the filename?) on open, then free that structure on close ... no filename, no buffer, free junk, unhappytime.