Your checks if the file exists are causing the problems. The file-system locks it temporary, which will cause problems if two instances check it at the same time. Rather put these checks in the Application_Start-event of your global,asax, that should prevent any unwanted locks.