I think it's the opposite of "bloat" in the C++ language. Scope-based memory management greatly reduces "bloat". Destructors are called automatically when an object goes out of scope. Combine this feature with the ability to declare / construct objects at the locations in the code where they're actually used, and you end up with very neatly encapsulated and readable code.
I can only mention my personal experience. I use C++ (mostly MSVC but, I occasionally use g++ as well) as a better C compiler. I don't use any OOP features.
Every program I've ported from C compiled with C++ has been substantially _smaller_ in Pascal than in C/C++. In one case that comes to mind, the port was also substantially faster but, I cannot credit Pascal for that, the reason it was so much faster is because I coded custom formatted I/O routines. That made a huge difference and, in spite of the additional code those custom routines took, the resulting program is a third (1/3) of the equivalent g++ program and a little bit over half (1/2) the size of the MSVC one and, in the case of MSVC the reason it's only half is because the MSVC version requires a run-time dll, IOW, it's not even a standalone program and, turning it into one simply wasn't worth all the work required.
I understand a lot of programmers use a compiler not just for the compiler but for all the "other things" that come with it (usually in the form of libraries, RTL or otherwise, RADs and who knows what else) but, I use a compiler as just a more convenient assembler and, that's all I usually want along with a good debugger (very important!). For "proof of concept" type of code, I'll use library functions but, in the final product, it's extremely unlikely.
Not directly related to anything you said but, anyone claiming that "Pascal is slow" is claiming "A car is slow". Obviously, it depends on the car just as in the case of Pascal (and any other language), it depends on the implementation.