I would expect someone going for a professional C# job to know about:
- Generics and generic collections
- Interfaces (general)
- Interfaces (specific), namely -
- IDisposable: how it's integrated into the language and why
- IEnumerable: including common extension methods, iterator blocks, and deferred execution
- Overview of serialization in .Net (maybe not have done it, but understand what it is and know where to look in the namespace heirarchy and documentation)
- Overview of Xml in .Net (same as serialization)
- Overview of threading concepts (same as xml/serialization). Bonus points for understanding why most thread-safe collections aren't.
- Have used anonymous delegates / lambdas in at least one project, and therefore also have a basic idea about closures.
- Comfortable explaining some basic concepts from at least one of winforms, wpf, webforms, or MVC
- Be able to answer some easy questions on specific common classes in the .Net BCL: namely from System.Data (think parameterized queries!) and System.IO (filestreams, path).
- Garbage collection: when should you call GC.Collect (hint: pretty much never) and why