cause: the mistaken belief that 'race' exists in anything other than a biological sense (it doesn't, it is a social construct, I said this already on the first thread but nobody commented).
this becomes exaggerated when groups are encouraged to see themselves as in competition with one another, e.g. in times of shortage (food, jobs, resources) or rapid social change.
ease: according to psychological research, the only real way for people to overcome racism is for groups to come together and work towards a percieved common goal (for example, Palestenians and Isrealis playing on the same football team).
There has been some really interesting research in this area, read about it here.
I have to agree that faith schools are partly to blame, in the sense that they reinforce the idea that humans are different based on artificial divisions, and prevent children from mixing from those who are different.
Lastly, I think it's worth pointing out that migration has taken place since the beginning of civilisations (meaning human groups living together and pooling resources) -- it is only natural for people to move in search of better resources, and it is also natural for those in possession of those resources to feel protective of them. Similarly, 'multiculturalism', has also always existed in a sense: there are always people within a majority group who find themselves in conflict with the norm, for any of a variety of reasons. I think the issues of racism and immigration, while linked, should be viewed as separate discussions.