I have noticed that v9.3 requires lots of connections to the database per user. It seems many parts of the code don't reuse connections or don't close them properly after they are used. In order to support 2-3 simultaneous users we need to allow at least 50 simultaneous database connections. I'm sure that affects performance. Additionally, when connections aren't released they eventually build up and require a recycle of the application pool, thus the site restarting message. I set the max allowed database connections to 1,000 on our site so that I have plenty of overhead to allow connections to timeout and be closed by the SQL Server instead of having IIS force an application pool restart to clear out the abandoned connections.
ML9.3.1.1
SQL 2012 Express
VS 2010
Azure VM