private void destruct() { collection.Dispose(); collection = null; lock (nh_refcount_mutex) { --nh_refcount; } _callback = null; if (nh_refcount == 0 && node_started_by_nh) { ROS.shutdown(); } }