Doesn't this just moves the problem to leaking the handle instead?
As an example of one such tool in practice, compare the task of "list all open file descriptors in an arbitrary Unix process" with "list all strings an arbitrary Unix process incorporates some knowledge of". One is a one-liner (`lsof -p <pid>`) and one is really tricky at best, and probably can't be done reliably.
It's not a silver bullet, but it doesn't need to be to radically improve security in practice.