Its being really hard for me to understand GEOS code. Anyhow, my *impression* about this bug is that some edges or points which are added to graph due to intersection detection remains allocated because not tranferred to the final output and thus not freed by final output deletion. --strk;