Using the .net framework you have the option to create temporary files with
Path.GetTempFileName();
The MSDN doesn\'t tell us what happens
There is a FileOptions.DeleteOnClose option which might do what you want.
Here is a link to the MSDN page.