Well, that's not easy.
For a file to be deletable, there has to be no open handles to it.
You can either terminate or kill the processes helding those handles, or close the handle itself. Be careful, the other process won't be aware of this. You might crash important applications - but could be better than killing it anyway. Still, that's your concern :)
So, assuming that you can determine which file is locked, you have a complete description here, how to gather all handles, how to filter the file handles and to find the file you are looking for. When you have the handle, you can close it.
See:
http://forum.sysinternals.com/howto-enumerate-handles_topic18892.html[
^]
It is not VB.NET. You will probably need a lot of P/Invoke, so this might be helpful:
NtQuerySystemInformation API Works on 32bit but not on 64bits?[
^]