That you are getting 'premature script headers' indicates to me you are using daemon mode. It would still help though if you amend your question and add at the end the specific mod_wsgi configuration you are using so it is clear what you are doing rather than having to guess.
Now, that you get 'premature script headers' also tends to indicate that your daemon processes are crashing. You should look in the main Apache error log to see if there is any log messages about 'segementation violation' or similar. Also set Apache LogLevel to 'info' at least, rather than 'warn'. That will make mod_wsgi log more about what is going on and why it thought the daemon process are exiting.
If it is a crash, and you only have the one WSGI application running in the daemon process group, then set:
WSGIApplicationGroup %{GLOBAL}
This will avoid various problems caused by third party Python packages which use a C extension component where the C extension component has not been implemented properly to work in sub interpreters. This may solve the crashing, but also if the extension module is dead locking and cause thread starvation as a result, that can also fix issues with the application appearing to no longer handle requests.
So, add that confguration to your question and change LogLevel to get more messages out of mod_wsgi. Finally force the use of the main interpreter using that directive.