Many people suggest this issue could be related to blocking synchronous background processes, particularly related to heavy cron jobs.
If true, there exists a great pair of modules under active development by gielfeldt* that might cut this issue right out, or at least, could offer some clues and help site builders diagnose and treat specific culprits in their cases. Both replace blocking synchonous processes with non-blocking asynchronous HTTP or commands, and both offer relevant reports that can identify troublesome processes:
- Background process and its bundled modules allow for Drupal's background processes queue to be processed asynchronously, so they don't block. This could stop the problem. Also, with the bundled Background Process Apache Server module in the latest dev, there is a basic but improving UI report with features to oversee, unlock and inspect start times and progress of these processes. This could identify the problem process.
- Ultimate Cron builds on Background Process to allow cron-triggered tasks to have their own seperate asynchronous scehdules, each of which can be monitored and stopped in a UI. As well as being great for seperating heavy duty performance-sapping tasks from regular low-overhead cleanup, it also gives you a report with convenient information such as the running duration of each individual cron-triggered task, when they last run, current status, etc. This could also remove the blocking from, and/or identify, problem processes.
Both are very useful modules anyway; for this problem, they can be used to test the (very plausible sounding) theory that the blockages are caused by synchronous blocking processes or cron runs. Potentially, they could solve the issue by running these asynchronously instead of synchronously, and they could also potentially offer clues as to which specific processes were causing the hold up. (be warned that their documentation is very much a work in progress...
If, however, they can't be configured to help at all, that suggests there's more to the problem than just synchronous background processes. FWIW, I've never had this particular issue on a site since getting these modules to work properly (yet - touch wood) - but I have seen it on my sites before, as well as on live Drupal sites in the wild.
Also be aware of other related plug-in modules currently in development - e.g. in complex high-intensity cases, Ultimate Cron Queue Scaler, which allows threshold-based throttling, might help reduce cron-related performance problems.
*no affiliation, I'm just a highly impressed user of their work