Yes there are other great engines out there, including C# based ones (e.g. Paradox3D). A quick search for popular game engines will help you find others (e.g. UE4, CryEngine, Unity, GameMaker, etc) - here is "someones" top 16 list for 2014.
Unity3D is a great place to start, not only because it is a great engine, but because there is a large on-line community. Most questions you would have are already answered and easily found with a quick Google. I doubt there would be much you cannot achieve with Unity.
With any language choice you are going to come up against the die-hard yes/no for this or that. I personally love C# and .NET in general and recommend giving it a crack - it is arguably easier to learn than C++ for newcomers, while still providing most of the same constructs (plus others) and involving the same concepts. So even if it is just a stepping stone for you yes I would say it is worth it (although like frob said I wouldn't necessarily recommend trying to learn programming from scratch from within a game engine).
Ultimately your choice should be based on the context of what you are trying to achieve, always keep this in mind, just because someone else says that engine X is more betterer than engine Y doesn't mean it will suite your specific needs any better. If learning is the goal, perhaps try a few out (trials or whatever), see what each of them gives you over others, every extra bit of knowledge you glean will help you down the road.
Good luck!