I've worked at several well-known large companies and it's pretty much not true. Top programmers want to work and hang out with other top programmers, so as a good, small company grows and starts losing their top guys to brain drain, the best leave before it's too late. They don't want to be surrounded by idiots or left doing shitty work.
Some of the ones that remain are probably very good, but they're not "rock stars".
Some of the ones that remain are probably very good, but they're not "rock stars".