Google employees are worth much more per-capita than most bank employees - and banks stay in the city - due to the networking (and prestige?) nature of the industry.
I think it also has to do with isolation and creating culture.
Urban areas have a lot of distractions, and individuality is encouraged.
There is 'not that much to do' in Palo Alto, at least, compared to the city ... people live in pretty normal homes, doing pretty normal things in the little time they have outside of work.
Also consider: how many truly innovative companies were ever created in the city and grew to be quite large?
I mean - 'cost' would be a factor, but why is it almost never the case?
If you need 10K employees, you need a lot of 'regular folks' - grinders, who show up every day - and who aren't the fleeting, company-hopping, types.
Obviously it's just a thought.
A lot of great Universities seem to be out in nowhere-land as well. I think there's something to be said for being out of the social centrifuge.