Can you say which class is leaking? I am usually careful to set up a pool wherever it makes sense. Maybe I have forgotten one place that can be called before the window construction is finished, which would circumvent Cocoa's safety net, I suppose. E.g., a global
SOUND = Gosu::Sample.new(...)
Also, Gosu uses slightly different subsets of Cocoa depending on the OS version, so it is very possible that it only happens on some computers.
In any case, Gosu was not designed to open several windows. For one thing, the GC is by design not completely reliable. But also, I didn't really take it into account when writing all three Window implementations. (I should really have put an exception in place for that, since it works on some systems, many Gosu games do it...)
The idea is that Window should get #resize pretty soon—the glfw branch is aimed at that—and then the need will disappear :)