Dear Mr Javed, my opinion is not going deep about technical details, each of these languages have their weaknesses and strengths.
In my humble opinion, "creating" a programming language is more about features and goals than just supporting a specific paradigm like object oriented programming (OOP). Designing a new programming language with the most recent concepts of computing, according to your own needs... was/is a win-win deal for Microsoft (.NET platform and products).
Nowdays these languages support multiple paradigms and concepts like functional programming, reactive, lambda functions, multicore, parallel and distributed processing, etc. but a few years ago it was a hard battle trying to domain the market, increase productivity, provide a better experience for developers... sometimes Java won, sometimes C# did the trick.
You can find and consult comparisons between Java and C#
It is a proprietary language. It belongs to Microsoft. Like Java, which is not an 'open source' alternative anymore as it belongs to Oracle (as demonstrated by their lawsuit on Google for Android), C# is for a FCL found on a Runtime Environment (RTE) .You need a framework to allow people to start developing for your OS, the reason being you do not want to give programmers deep access to the core of your OS (Kernel) or access to the processor/RAM/Hardware without some form of mediation. C# was designed to be similar to Java (you know one, you probably can use both) it is a successor to C++ (for Windows OS) which is the language for OOP. So, C# is a OOP based language for the .NET framework. Anything non-legacy on MS OSes is best run with C# and anything with legacy code will probably rely on VC++. C++ is still a great language to start programming with though. Almost every modern language is designed with C++ in mind.
And programmers are known to create languages, even my own professor at NTU had his own programming language. But whether it is supported and adopted is another question. You need FCLs and proper portable hardware platforms along with IDEs (proper ones), MS had Visual Studio and the likes - so C# was its answer to Java (which belonged to Sun at that time), it wanted to create a language neutral framework to compete against JRE, so C# vs Java and .NET vs JRE... Though both JRE and .NET failed in terms of truly platform neutral portability of code as migration between platforms is a pain for both of these runtime environments however Java can be easier (on Android) but it is inefficient on Windows and is a pain to develop for on IOS. .NET is non-existent on Linux (though mono exists, I doubt you want to migrate complex code with it!).
Java is a dying language while the C # is constantly developing. Technologies like LINQ, lambda expressions, XAML, support of UWP, web applications, etc. greatly outpace the idea of the Java.