I think i use OOP where it belong, I mean mostly when writing libs for been used for me or others programmers, when i want complicated things be translated to be used in an easier way; and where instancing that piece of code has sense.

I still use plain Procedures & functions with Var parameters and simple Records in my programs when they are just more that enough to implememt somthing;

I have seen people create class just becouse they can, but not becouse it is necesary; i have seen classes which are too short that with one simple records and 2 or 3 simple procedures should have been enough.

the other day i was reading a game programming book for C++ where the autor difined into a class the matrix and vectors maths; so he like to use things like mymathlib.vectoradd(v1,v2);