Using the .net framework you have the option to create temporary files with
Path.GetTempFileName();
The MSDN doesn\'t tell us what happens
No, it lies in the responsibility of the software (read: the developer) that creates a temporary file to dispose of it.
Have a look in your own temp folder to see how well that works ;-)