They aren't "temporary" in the literal sense of the word that they will definitely be removed at some point. This answer describes the purpose pretty well:
These are what's known as Shadow Copy Folders.
Simplistically....and I really mean it:
When ASP.NET runs your app for the first time, it copies any assemblies found in the /bin folder, copies any source code files (found for example in the App_Code folder) and parses your aspx, ascx files to c# source files. ASP.NET then builds/compiles all this code into a runnable application.
They can be deleted at any time, and .NET will just recreate the ones it needs, when it needs them.