It's been a long time since I programmed in ADA, but the TASK support on the toolchain/system I was a long time ago sucked, and you couldn't climb into it and fix it like you might a standalone C RTOS because it was part of the tooling supplied by a vendor.
Vs with Rust, the borrow checker is fairly portable memory lifetime tracking and reasonably independent of hw architectures.