Have you read Game Programming Patterns? It's freely available online, or you can purchase eBooks or print copies to support the author. Examples are in C++, but the concepts will be applicable to (almost) any programming language.
There are also some free computer science courses online (like this one from Stanford - if you search you'll find others) that might help fill in some of the concepts you may not be learning if you're predominantly self-taught with YouTube tutorials. A good exposure to topics like data structures, algorithms, etc. will likely help you to better reason about and structure your programs.
Over a long term, I recommend doing most or all of the things outlined in the post "Become a Good Programmer in Six Really Hard Steps".
Learning from source code can be tricky. Firstly, while I'm sure they're out there, I don't personally know any examples in C# for you, so you might need to be comfortable with at least reading and reasoning through code in other languages. I'm sure someone will know some good C# examples though.
More importantly, source code (assuming you're able to figure it out) just shows you what someone has done, but not necessarily why they're done it. A certain method may have been sensible for that project because they had certain performance requirements, or had to work around a platform bug, or what-have-you, but may not be a sensible approach in a project that doesn't have those issues. An approach may have been good at the time but isn't considered good practice anymore. An approach may be outright bad practice and made it into the final product due to a rushed deadline, or just because the developer didn't know better at the time.
Take what you see in open source code with a grain of salt.
You could possibly try a look at Fabien Sanglard's website, where he sometimes looks at open sourced game code like DooM, Quake, Duke Nukem, etc. Most of the code will be C or C++ rather than C#, but having a more experienced developer's opinions on it rather than just poking around the code yourself can be valuable.
Finding reliable hobby projects can be tricky. My suggested approach is to try to do it yourself instead. Tackle small projects where you can do a lot of the work by yourself, and only recruit for the absolute minimum help that will let you get the project done. Maybe make use of some free art assets for practice, and then look at getting an artist to help replace them if you want to once the game is more complete. Try joining some game jams, taking part in the GameDev Challenges, have a go at One Game A Month, etc.
Hope some of that helps!