This is an excellent question and very close to my heart. I am a first-generation immigrant; I came here to Canada to do my graduate work, and I stayed, so I relate to a lot of those young folks you talk about.
My comment is that in recent years, it's becoming a bit hard for people to stay in Canada, simply because, once they graduate, they still don't have any real status, any permanent status, in Canada. They have to apply for postgraduate work permits for only two years, and quite often the immigration process takes way more than two years. That's very stressful for many of these young talents, and they prefer to go to places that are either less stressful in terms of immigration or, if it's as stressful, at least the pay scale matches that stress.
I highly recommend that the government reconsider its immigration programs, at least on STEM—the science, technology, engineering and math fields—and make sure that before the student graduates as a Ph.D. or with a master's degree, they have their permanent residency in their pocket. That's the best way to guarantee that the talent we spend NSERC money on stays in Canada.