Of course, except that many runtimes/libraries handle tripping over array boundaries gracefully, rather than overwriting memory. And some languages avoid null/wild pointers completely.
Your programs will still be suspectible to buffer overflows, invalid dereferencing, etc. While, say, Haskell programmers do not have the same problems. Valgrind is no substitute to runtime checks and a proper type system.
Your runtime checks and proper type system and at dynamic linking. That means you don't have them, and they aren't a complete total truth of any kind at all. They're just a highly probable enhancement.
Your programs will still be suspectible to buffer overflows, invalid dereferencing, etc. While, say, Haskell programmers do not have the same problems. Valgrind is no substitute to runtime checks and a proper type system.