Have tried the modern community edition of Embarcadero Delphi a couple of times over the years, but found its layers on layers of source code and object inheritance complexity really shocking. I can only imagine the poor souls that have to maintain that mess.
Something like trying to ascertain simple logic pathways through their code in order to understand function limits or compatibility issues was a real nightmare/time consuming. Let alone attempting to predict or change core functionality.
And they did away with 8 bit ANSI strings, which were at times rather handy for some basic IO work and data processing. More than anything, you knew were you stood in your data at all times.
Another annoying thing was there bitmap handler, which required you to lock it in order to access it's internal pixels for data processing - think this was for compatibility with mobile chips - which from my basic observations did a full read and write (copy) of the image data - slowish. A simple binary data handler to mimic a system bitmap got right round that bottleneck.