Cleanup not called when closed by Close() call