Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
Follow article: Troubleshooting guide: 500 Internal Server Error / server error in '/' application to know the exact error message as in question above.
Error message in question means that application waited for a database connection but the timeout expired before it could get a connection, probably because the number of connection in the pool was too low for the number of connections that were attempted, or there was a network time out, i.e. the connection between IIS and your SQL Server was too slow to serve a connection.
Can you tweak the web.config as below - restart the website/IIS and let us know if that resolves the issue:
Section to be tweaked in web.config:
The parameter of interest in below line is 'Max pool size=200'
"server=localhost;database=mydb;uid=sa;pwd=mypw;Max Pool Size=200;"
If above solution doesn't helps then share the details as explained in 'Follow article' statement above.