My guess it has more to do with IT professionals having zero sense of duty and honor and being dazzled by another couple thousand bucks a year.
Society calls them intelligent, which they accept but can't wholeheartedly believe unless they find a job with more money. Which lasts until the next existential crisis. There's no question that some people leave for reasons rooted in lack of any loyalty, and for knee-jerk reactions. And there are people who leave for the way they're being treated (and for the way they perceived they're being treated). You could probably come up with a long bullet point list of reasons.