I grew up in Vancouver, went to high-school there, whet to UBC there. My family is in Vancouver. The majority of my friends are in Vancouver. I own real-estate in Vancouver. I eventually want to move back to Vancouver. I can safely say I love Vancouver. However, I currently live in Seattle. Why? The money!
As frustrating as it is to admit, and as uninteresting as it is, the simple answer is usually the most appropriate:
Canadian companies like their tier-2 low wage talent (and some tier-1 low wage talent - who prefer Canada). Its good enough for their usecases, and it gets the job done. Meanwhile, they like to complain that they can't hire tier-1 low wage talent.
That is the only answer I can come up with!