There are several third party tools that can give you this information (I use LockHunter), but there is also a little-known built-in tool that does this.
At an administrator command prompt, enter the command openfiles /local on and reboot. When you try to delete a file that is in use, the error dialog will now also tell what it is that's locking the file.
Additionally, you can issue the command openfiles to list all file locks.
What is locking a file?
Moderator: jasonb