I feel like you just answered your own question of why people don’t like VB.NET and prefer C#. Per your own words you have two languages that are “just as good” except one of them needs settings adjustments or it’s not as good, and also has “alien” syntax which makes it harder for other developers to work on the code and makes it harder for you to move to other C-style languages (basically every currently popular language).
So if at best they’re “just as good”, then the obvious choice is C# which requires no settings change and has familiar syntax. Especially so if you can work in both just fine.
It’s not just some “god complex” thing, it’s mostly just practicality.
The second is exactly how I do it. Keeps everything separate so easy to move individual services to another host if needed. Easy to restart a single service without taking them all down. Keeps everything neat and organized (IMO).