Hey there. There are plenty of opportunities if you were to do your postgraduate in Canada. Being a undergraduate in one of the Canadian Universities, I would say the research atmosphere is very conducive (or at least in my university). I am not sure whether you can stay here after graduation but I think recently the Ministry of Canada has recently amended the immigration policy. As far as I know, if you are hired upon graduation, you are allowed to work here; but, again I am not sure on how long you can work here. So, I think a trip to Canadian Embassy would be extremely helpful.
As for recommended university, it really depends on what are you doing right now. If you an E&E engineer or a computer or software engineer, then Waterloo is definitely one of the best place in Canada, if not the world, to do your postgraduate. If you are a biomedical engineer, then McGill would be the best place to go. Other specialisations such as chemical, mechanical, etc, as long as you stick with UBC, McGill, Toronto and Waterloo, it would be fine.
As for your information, I think you are going to do Master in a Canadian university right? Then, I think you should opt for McGill (not that I am promoting McGill) because the Ministry of Education Quebec has recently lowered the tuition fee for international students(only for graduate school). So, the tuition fee now is about 1500CAD a year(rough estimate again). And, I think it is quite affordable if you think of it.