If a child born in Canada is spoken to strictly in another foreign tongue other than english (ie. Italian), it is inevitable that this child will also think in Italian. When this child starts going to school and is immersed in the English language, does the language he/she thinks in change to English?
I think that the "thinking language" is just the language that you use to speak. If you have lived, for example, in Italy for a long time, independently of your age, you start to think in Italian for sure. So it is for children, unless the family and context language is different. Also the "dreaming language" is relevant, but changes earlier.
The "thinking language" is not the act of thinking, it's only the act of speaking to yourself to improve the thinking process. You can also force yourself to use a different language in this process.
An example, Kobe Bryant is a fluent Italian speaker because he did a large part of primary school in Italy, but I'm pretty sure that he thought in English during that period.
There is no single answer to your question. It depends on many things. I would say that generally speaking, yes, the child will learn English as a second L1 and start thinking in English in some contexts. But that doesn't automatically needs to be the case, it depends on how old the child is, for example. If he is older than 12, he might not acquire English as a second L1, but as an L2, and not think in English per se for a long time, and never as a native speaker would.
There is another problem, and that is the definition of "thinking in a language". Would you accept only L1 competence, or do speakers of an L2 with really advance level that claim that they can think in the L2 also count? How well does the child have to think in the language? There are cases of people who can think about almost anything in a second language but when it comes to counting they have to use their first L1.
Please be more specific with your questions.