How much hierarchy I need depends on the project at hand. I try to keep the amount as low as possible (more levels=more objects=more chance of more slow SU). Normally I have:
- 1 container (component) for the house / office
- 1 container for the sub-levels (basement / foundations)
- 1 container for the terrain, trees etc.
In those containers I put all the named groups and components for the outer walls, inner walls, windows, furniture etc. A single chair would be moved into the furniture group. I try to keep the hierarchy as small as possible so the Outliner needs no/small amount of scrolling. I rarely/never use the search function because of this.
Its a flexible system. Some projects need a different hierarchy - each level could be a container. Keeping it flexible is key to me.
Edit: and as to the original Goodbye OO question: there are many routes that lead to Rome. I don’t think there is only one good solution and the rest is ■■■■. Just pick the one that fits your workflow / you already are comfortable with. Keep an open mind though and look around to see if improvements can be made / better options come along.