Hi everyone,
I'm going through this whole Canadian vs. American process right now, and let me tell you it is not fun at all! One could technically enter both matches. However, the CaRMS match (Canadian equivalent of NRMP) occurs one week earlier than the NRMP match and if you match to a Canadian program, you are automatically withdrawn from NRMP. So, if you would prefer to be in the States and you have a good chance of matching to a Canadian program, you have to essentially withdraw from the Canadian match (nervewracking because the chances of matching to a Canadian program are so much higher).
According to the CaRMS website, one must be a graduate of a Canadian medical school to enter into the first round of the match. Therefore, it technically doesn't depend on citizenship although in reality getting into a Canadian med school without being a Canadian citizen/permanent resident is virtually impossible. However, what has me puzzled is that I know of a few residents at my medical school who went to school in the States (Canadian citizens, though) but still managed to participate in the first round. So, I don't know if the policies have changed and the website just hasn't updated the information yet.
Some of the residency programs at McGill (Montreal) offer positions through the NRMP, but these are reserved for American citizens.