I think one reason hasn't been touched on though, why many were immigrating to start with and where they were coming from. Irish immigrants were trying to get out from under British rule, so why would they go to Canada and be right back under it? And a large portion of the German immigrants were protestants wanting to get away from Catholic rule early on, so America with it's religious freedoms is much more attractive than Canada split between English Anglicans and French Canadian Catholics. And lastly there is the reason of able to get there. The eastern seaboard of the US has many more major ports than eastern Canada which means there are a lot more ships arriving from Europe at the American ports, which in turn means more access to immigrate to America than Canada.