As far as C# goes, I suggest learning things that interest you. Think about your long-term goals; if you just want to look appealing to an employer, then learn pretty much everything to a decent extent. The following are simply suggestions of advanced topics you should learn on top of the intermediate C# concepts and .NET technologies. Learn how to use and implement generics, interfaces, abstract classes, and all that... prior to diving deep into what I'm about to mention.
One thing a lot of people overlook is threading. Threading is rather difficult to master, but it's definitely being needed now and will continue to become higher demand in the future with the increase in availability of multi-processor computers. Technologies inside .NET which relate to threading are the Task Parallel Library (TPL), PLINQ, and the good ol' System.Threading namespace.
If you want to learn something that many people don't even investigate, try socket programming. Socket programming basically allows you to enable your applications to communicate over the Internet. You would want to research the advantages and disadvantages of the most used protocols (TCP and UDP and SCTP). Additionally, you should invest the time to learn asynchronous sockets and not just synchronous or thread per client models.
Security is a topic that interests me and many others, but employers usually overlook this nice skill. The .NET framework exposes System.Security.Cryptography, which allows you access to various cryptographic algorithms (symmetric and asymmetric ciphers and hash algorithms). I suggest reading into the topic of cryptography before truly getting into this, but it's still fun to play around with even if you don't understand how to utilize it in a truly secure manner. If you wanted to learn about cryptography as a subject, I suggest Bruce Schenier's "Applied Cryptography" book, or his other book titled "Cryptography Engineering"; both are fantastic.
You could learn more about the Windows Communication Foundation, because employers love that sort of thing. MCPD/MCSE certifications for .NET are a good way to get a base level understanding of random topics and are a way to explore what it is out there to see if anything piques your interest. One thing that people find easy is developing Windows Forms or Windows Presentation Foundation applications, but the truth is it is a large topic and should be explored or at least understood at a basic level by pretty much every C# software engineer.
These are my views and of course are limited to the scope of my interest, so there is quite a bit of bias. But learning the aforementioned would definitely give you a huge advantage over other people, when it comes to C#, as these are the most difficult and often ignored concepts and technologies in the .NET and C# world.
Take care!