<p>I want my application to clean all the temp files it used, the problem is that not all the  temp files are under my control, so I just want to "brutally" unlock them in order to delete them programatically.</p>

Surely, of your application is wanting to clean up the temp files it owns, then you have full control to unlock these files and delete them!
If you're wanting to delete all TEMP files, whether owned by your application or otherwise, you should be VERY careful.  The original application probably applied the lock because it wants to use the file!
If you truly need to, you could always spawn a command-line application rather than trying to replicate the functionality of existing tools which will be difficult in C#.