The thing about creating a memory safe programming language is more a mirage than anything else.
Any language that allows unsafe code isn't memory safe since there can be areas in the code that are unsafe. The only thing that has changed is the unsafe surface.
For instance, in Ada, creating unsafe code takes some setting things up, thereby creating a boundary for the unsafe code. That's very much unlike C, C++ and FPC where every single line of code can be unsafe (just do pointer arithmetic and safety is out the window.)
Lastly, all the languages that can really be considered memory safe (neither Ada, C, C++, FPC, etc qualify) do so at considerable cost in more ways than one. An example is Java, performance is a problem (unless you're writing a glorified but, portable of course, "hello world" program... look Ma, it's portable... woooohooo!)
For real programming the only language I've seen that provides a well balanced solution is Ada and, even Ada doesn't guarantee full safety.
A programming language is a tool. How effective and safe the tool is, is ultimately determined by its user. In the wrong hands, someone can probably find a way to cut themselves with liquid soap (I don't know how, but, somehow they'll figure out some way.)