Totally right, people don't have to use C or C++ to interact with OpenGL, it's just the APIs are usually written in a language like that as a "lowest common denominator". There's of course bindings for C#, though personally I'm not too familiar with this.
I'll say this: Designing a game and designing a game "engine" are two different things.
A lot more goes into a game than just programming. Dialogue, art, story, character design, maps, combat/puzzles/rpg balance, actually making it fun
, etc. Don't get me wrong, I love learning OpenGL and being able to control the fine details. If graphics is your passion, learn every bit of it. But there's plenty to learn about game design that doesn't involve learning about individual OpenGL calls.
If you want to start with some simple 2D graphics, audio, and other multimedia options for games, you can check out a library called SFML, which is written in C++ but has C# bindings.
It abstracts a lot of the low-level calls away to let you focus on actually loading sprites, textures, mouse/keyboard input, etc.
There's some article I've read on "lessons learned" about indy game development. I could try to find them later.