> Are there also some known techniques on tracking down memory leaks?
Nothing more than the usual debugging techniques. It is more of a matter of taste whether you like to add print() (or printf ;-)) calls, or set breakpoints in an actual debugger.
> i.e. pickle.dumps(3.0+1j, 4) leaks but pickle.dumps(3.0+1j, 3) does
not.
Well it looks like you've narrowed things down a bit here.
> However, there appears to be no difference in the code that gets
> executed in v3 to the one executed in v4.
Even the differences in memoization?