Because they're graduates, and that's what's taught. Things like OOP and design patterns translate well to C#. Although it seems a lot of universities don't bother with design patterns, IOC, or anything that actually makes your knowledge practical.
Sure, but nothing stops students from learning this stuff on their own outside of the academic environment. Why not encourage it?
What's the point of programs like DreamSpark? Why bother learning about Microsoft technologies if you can't gain any advantage when even applying for a job at Microsoft itself?