A combination of high heat and certain cheeses (like good quality sharp cheddar) can cause the sauce to break pretty easily. The result is an oily, grainy mess. Try reducing the heat and adding a good melting cheese like Monterey Jack and see if that helps.
Just a tip...may help. If ur making a cheese sauce in advance... Make the bechamel, then sprinkle a good quality cheddar over the top till you need it... The cheese stops a skin forming. When you need it just heat and the cheese will melt.
IMO grainy = rubbish, fatty cheese
"If we're not supposed to eat animals, why are they made of meat?" Jo Brand