Unity may not be for you, but plenty of people use it with no problem.
Lots of teenagers and people making cell phone games use it, sure. It would also be fine for a corridor shooter or other simple game.
I'm also not sure what you mean about negating OO features of C# (there's nothing stopping you from writing OO code in Unity).
Yes there is. Well there is and there isn't. The problem is the linkage.
Your interface method between the engine and the coding language forces you into a scripting paradigm (interface is all created by a scripting call), so it makes no difference what language you use you are forced to do everything in a simple manner. In Unity you can't even reuse code between projects let alone make a real OOP project (unless you have the very expensive full source version). So given that last little tidbit and the comments you made that unity does nothing to limit OOP which of us is unfamiliar with the engine? Or maybe you just don't understand the distinction, seemingly most programmers don't. Unity not only limits OOP but it pretty much eliminates any kind of basic organization you could get from using straight up C as well.
And you know the little API that C# is a part of, the .NET frameworks? You can't use that either, not that it would be too helpful due to the other constraints, but really it's the only thing truly good about C# in the first place.
A couple months of me playing with unity ran like this:
Unity is great!
Unity is great!
Hmm.
Unity is...totally useless for anything but a game with very simple gameplay? Crap.
It's like the makers of torque and starforce teamed up to make a game engine.