A good workman has several tools in his toolbox!
That said, do you see a distinction between C# and Python that's adds to your toolbox?
R gives you access to thousands of statistical routines and techniques, plus great graphics. And it's a standard in the statistical world. (To be honest, I've noticed more Matlab in the Machine Learning community, but Matlab's an ugly language and expensive, so I'd feel guilty if I caused anyone to use it.) R is the best tool for actually analyzing data, except perhaps in the case of enormous data sets.
R's weakness, compared to C#, etc, would be its speed, its capacity to handle enormous data sets, and its development environment. So if you want to program things from scratch, use your favorite tool (C#, etc).
If you're mainly in data analysis mode, you might use Python to obtain and preprocess data, then feed it into R and carry on from there: explore, analyze, graph, etc. If you want to say, "I programmed my own Support Vector Machine implementation with the addition of Super Special Sprockets Mapping" use your favorite programming tool (C#, etc), then sanity check and display your answers with R.
I seriously doubt that you'll find Python libraries that implement all of the techniques that you'll find in R packages. But if you want to write code from scratch that really hasn't been done by others, a good programming language with a killer IDE is the way to go. (On the other hand, if you want to go to a Machine Learning website and download some code, those poor confused folks may well have Matlab code, which is nauseating, primitive, and write-only, in my opinion.)