I can confirm this problem.
What seems to be happening is that (in the absence of explicit
<!-- language: foo --> hints) the syntax highlighting is based on the tags: to know that your code is C# and should be highlighted as such, the question needs to be tagged with c# (or some other tag associated with that language).
However, until you've actually posted the question, it doesn't really have any fixed tags. Yes, there's a box at the bottom of the edit form where you can select some tags to apply to the question when you post it, but the syntax highlighter doesn't seem to pay any attention it — it only cares about the tags the question already had before you started editing it.
Arguably, the syntax highlighting rules should change whenever the tag list is changed in the tag editor box. If so, this is a bug / missing feature.