Why not just learn both of them? It would not hurt you to have more than one language you are good at, especially if they are very different from each other.
It's mostly a time investment issue for me, and I feel it's true for everybody else. We have only so much time available to learn new things (as opposed to writing production code), and so you want what you learn to pay off as much as possible long term.
You wouldn't argue "Why don't you just learn every language out there?", right?
The prob is that being a "pro" takes a really long time. For example to be a
"C#" you need to really dive into the CLR and its internals, be familiar with all of the new features that's been added to .NET in the past years, get familiar with all of the tools out there (VS is basically a topic on its own) and then likely some related technologies like WPF / WCF depending on what you're writing. That's a LOT of learning and practicing for one language, and you probably don't want to throw all of that away long term.