CP form submissions occasionally reaching PHP's 300 second timeout Occasionally—I'd say about 30-40% of the time—when submitting a form in the backend, be it saving an entry, updating a custom field, etc, the page will just sit there, loading. This can and often does continue for ~ 299.88 seconds, after which it will proceed to the next screen as if nothing ever happened.

I've looked through the console log, but all the timestamps seem to be within a second of each other, so nothing jumps out as the step where things are getting hung up. I suspect a server problem, but I'm posting here just in case anyone can point me in a more specific direction than "there's a problem somewhere".

To date, this has not occurred on the frontend, but there aren't any frontend forms to submit, either.

Pastebin of the console log (the load time is on line 725): https://pastebin.com/aB4JkrBv
I can think of a couple things why this is happening:
1) Custom code doing a save operation.
If you're hooking into onSaveEntry for example,  Craft also lets other plugins have a chance at calling their own save code as well.
So when you do a saveEntry (or other element), Craft is going to repeat that call when you do it from your own code, basically putting you into an infinite loop because it keeps getting called until the server times out.
The fix is to make sure  you only call saveEntry once. There's a couple ways to do this depending on what you're trying to do.
One way to debug this would be to a create super simple plugin, using Business Logic or PluginFactory that listens for the saveEntry event and logs it.
If you see the plugin's log fill up, then some plugin is putting itself into a loop more than once.
2) runTasksAutomatically is not being called
Over time, Craft generates a lot of cache files, sessions, etc. Craft will automatically do some housekeeping for you and clean this up, however, the runTasksAutomatically config doesn't run on some server setups, forcing you to do the maintenance yourself. It's like a stuffed up drain, if it doesn't run for awhile, it takes longer to purge.
If your server doesn't support cron, you could use an uptime monitoring service like Uptime Robot or Pingdom to trigger the task call for you periodically.