Nodes added with "onetry" do not get deleted from memory when they get disconnected. This causes FinalizeNode and so some clean up code to not get called.
The reason is for onetry nodes fNetworkNode is false, because we connect them with ConnectNode. The nodes get disconnected but still stay in the disconnected pool forever.
So use OpenNetworkConnection instead of ConnectNode. The only difference now is that fNetworkNode is true.