On top of what Rick said, your code is also catching exceptions and doing nothing with them:
Try
System.IO.File.Delete(file)
Catch ex As UnauthorizedAccessException
End Try
This hides the exception your catching so if the Delete does fail, you have no idea it failed nor do you get any hint as to why. Unless you've got a REALLY good reason for doing so, swallowing exceptions like this is a bad idea.