Actually England is quite an immigrant society too (though no one chooses to think of us as this) - apart from a few who can claim to be ancestors of the original English tribes, the majority of us are descended from Danes, Normans, French, Spanish, Irish, Scots (even the Irish and Scottish are mainly of Norman descent too) etc. etc.
by the way here's another twist in the immigrant puzzle - my Grandfather was born in Ireland, and raised in Scotland. I was born in Yorkshire, so everyone that knows me thinks i'm an Englishman living in my own country. My mate Kammal's grandad was born and raised in India. He was born in Yorkshire - so how come there are some people who think he is an immigrant who should "bu_gger off back to India"?
now that i have got off my soapbox, in answer to the question i believe that ancestry plays some part in the reasons, as has been mentioned, but also i have heard that Canadians have a certain apathy with their neighbours on the southern border (called the USA) and prefer the UK people to the USA people.... I'm going to kick a hornets nest here i can tell, but this is only what i was told, not my opinion (cos i don't have one!)