I'm not saying Xamarin is the greatest tool, but it's definitely not unmarketable. There are always several jobs around me on the job boards. But if your comment was a generalization, then I guess you could make the same argument for being a Swift developer because ios devices are only 10% of the market. Telling people not to learn Xamarin is stupid. It maybe the right tool for some people. And besides, Xamarin Android is VERY similar to native Android Java code. If you learn Xamarin Android, it is a easy jump to native android.
Totally disagree with this, I have been in a xamarin dev team and had seen senior developers get nice salaries as more corps are going on to Xamarin. I also saw our talent get head hunted by other companies. I receive at least 2-3 emails a month for Xamarin roles. In fact I told my software dev friends that wanted to get into mobile to learn Xamarin. Some took my advice, it has worked out great for them and their careers.
If you know Swift or Java, C# is trivial to pick up. And Xamarin's SDK maps closely to their native counterparts, so hardly anything new there either.
I'd say C# is worth learning if you have the opportunity. But agree it's better to invest time learning a specific platform like iOS or Android. Coupled with C#, you'll be in good shape to pick up any Xamarin project out there.