This. The culture part. I have worked in US,CA,EU. I felt US was more accepting than any other country. There is a feeling of being part of US society even though you are a temporary worker. There is very less cultural discrimination in the US.
EU,CA are a conservative xenophobic bunch. Many immigrants in Canada who are now citizens still stick their native countries flags on their cars. I have only one question for them, if you like your native country so much, why don't you go back ? If you accepted Canadian citizenship, be like one.