São as chamadas pastas de cópia de sombra.
Simplisticamente .... e eu realmente quero dizer isso:
Quando o ASP.NET executa seu aplicativo pela primeira vez, ele copia todos os assemblies encontrados na pasta / bin, copia qualquer arquivo de código-fonte (encontrado, por exemplo, na pasta App_Code) e analisa seus arquivos aspx e ascx em arquivos de origem c #. O ASP.NET cria / compila todo esse código em um aplicativo executável.
Uma vantagem disso é que evita a possibilidade de o número da DLL de montagem .NET (na pasta / bin) ficar bloqueado pelo processo de trabalho do ASP.NET e, portanto, não atualizável.
O ASP.NET observa as alterações no arquivo do seu site e, se necessário, inicia todo o processo novamente.
Teoricamente, a pasta não deve precisar de manutenção, mas de tempos em tempos, e raramente é necessário excluir o conteúdo. Dito isso, eu trabalho para uma empresa de hospedagem, rodamos até 1200 sites por servidor compartilhado e não precisei tocar nessa pasta em nenhuma das 250 máquinas por anos.
Isso é descrito no artigo do MSDN Noções básicas sobre compilação dinâmica do ASP.NET
C:\Users\[Username]\AppData\Local\Temp\Temporary ASP.NET Files
.