I am pretty sure lot of us would have come across applications where non OO design and coding was applied to an OO programming language such as C# or Java. Inherently a lot of code was done in a structured method and the only thing OO about the code is the fact the methods were inside a class definition.
This usually leads to a whole lot of problems when someone tries to change something. The biggest principle i like about OO code is when it is done in a "closed for modification and open for extension" principle. The need to test code that is already tested can be avoided greatly. Is there any justification to using an object oriented language such as C# or Java and not use proper object oriented practices or coding patterns?