And if I'd like to proffesionally work with game programming, I need C++, from what I've read.
The difference between a professional and an amateur - Professionals get paid.
You can be a professional with any toolkit/language you want. Personally, I have been challenged about what you're struggling with too, but it came down to these things for me:
1. I would rather spend time making a game than worrying about a bad pointer or memory leak in my amateur C++ code.
2. C# is "easier" to pick up and a lot of the frameworks in place make it simpler for you to get started and learn some great concepts in programming and games.
3. I would rather spend time doing anything else besides worrying about a bad pointer or memory leak in my amateur C++ code.
With the ramp up in indie development lately, going "AAA studio professional" should be less of a focus. However, I would think being a master at C++ would be awesome to help you get into that field, as I have read too. I think C++ is "needed" in the fields because they need as much control over their product as possible because they are either doing crazy stuff that pushes the limits, or crazy stuff no one has done and made a kit for.