This is spot on. At some point I expect these costs to flip. I've done the TCO computation a couple of ways and for OCP/Web2 type deployments its still cheaper to do your own deployment once you need more than 500 instances.
Of course not to take away from Andy's point, if you're deploying the equivalent of Slashdot (which ran on like a dozen servers) then you're silly to spend a couple employee slots on keeping that running in a co-hosted scenario. And these days, given the power of a machine, a LOT of things can be done on a relatively small handful of machines.