First of all you should not be using same AppPool for all your web applications/websites. If one web application crashes, it will recycle the app pool which will make all the other application to restart, so users will lose their session information on the server.
Now if any fault occurs IIS will restart the AppPool to recover from it. now if you have disabled it, it will not come out of the fault.
Also this is a very generic error, there is no specific cause for this. so you need to debug the cause using
IIS Debug Diagnostics Tool[
^]. this tool will generate detail log file, which will help you to identify the problem.
or you can create seperate app pool for each application and then assign to it, and see which one is not working, that application is causing the problem.