>I have found that OOP with inheritance is actually a form of tight coupling and that it is best to not use class hierarchies [..] I just completely disagree with inheritance in all forms
This is pretty common advice (at least IME), usually distilled into the form "prefer composition to inheritance".