I didn't, mostly because I assume that valgrind wouldn't play well with cpython. (I've never used address sanitizer.)
I was curious, so I went back and tried it out.
turned out to not seem to need that much fiddling to get to work. It
slows things down a *lot* and produced 17,000 "loss records", though, so
maybe I don't have it working right. At a glance the records did not
shed any light.
definitely believe that valgrind is up to the task of debugging this,
but my initial take with it shed much less light than my
sys.getobjects() approach. (Though note that my sys.getobjects()
approach was slotting it into an existing python memory profiler we had
hacked up, so...)