Modern pascal implemented in Delphi / Lazarus IDEs has basically all essential features modern language can expect. It does not have garbage collector but I personally consider it an advantage. What it does instead is heaptrace. When it is on for debugging - upon shutdown of the program it will point you exact place/s in source code where you leaked memory should such leak ever occur. Madexcept product does the same thing and more for Delphi
The latest version drops ARC, which pissed me, but I guess it is better to have a sound history, instead of a schizophrenic one depending on the target platform.
Having memory management based on deployment platform I think is one of the most insane things Delphi's vendor had committed. Luckily they're backtracking on that. Anyways the decisions like that combined with maturing open source alternative Lazarus/FreePascal had led me to use Delphi only for maintenance. All new GUI projects are going to Lazarus/FreePascal combo.