I will try to answer your questions as helpfully as I can.
"Is C# a language that can be self-learning or it should be learned in an academic way ?"
It can be learned either way. For a beginner, you are not only learning the C# language, but you are also learning the core computer programming concepts. The best way to learn is by doing. Whenever you do a tutorial of any sort, don't just blindly follow the tutorial, consider 'why?' things are being done the way they are. Go beyond the tutorial to test yourself and investigate the possibilities of what you are learning.
"and how much it will take for me if I self studied it a couple of hours daily ?"
Depending on what your goals are...It will take somewhere between a long time and a really long time. Though, it's not about the destination, it's about the journey.
A lot of beginners make the mistake of thinking the first game they create will be the game they dream of making. Unfortunately, the reality is that you will need to make many lower-ambition, throw-away games before you come close to making that awesome game you currently have in mind. But each time you make something, throw it away, and then make something new, you'll be making things that are better and better. It is a lengthy, growing process, and everyone grows at different speeds (proportional to your dedication and natural talent).
"and if my main purpose of learning C# is for developing games then shall I stick only with "Creating games with C#" types of tutorials or shall I learn everything about C# ?"
You should try to learn everything you can about C# that is relevant to what you are doing. You should definitely start with learning the basics of C#, because any game-making tutorial you find will assume you at least know the basics.
XNA has a number of great beginner tutorials you can find with some bing searches.