The lack of immigration problems is one reason why the talent is less expensive. The other reason is probably because people in Canada get compensated in other ways. Many of my American friends who left Canada for employment eventually return when their kids reach school age because they can't stomach the harsh reality of the US education system. Or something happens to their health.
It's easy to knock Canada for its personal income tax rate, but compared to European alternatives, it's still quite low, despite offering a whole lot of baseline public goods.