Workers in the industry are significantly underpaid relative to the US. With no easy way to work in the US, I suspect fewer Canadians would choose to study computer science.
For example, from Google just now, the average software engineering salary in Vancouver BC is about $73k CAD (about $57k USD), and the average software engineering salary in Seattle is about $96k USD. That's about a 68% increase over the Canadian salary, and the cost of living is similar in both cities.
Incidentally, my company has had a number of Waterloo interns over the years and they have all been excellent. Many of them have moved back to the US after graduating.