make dnsasync better handle cleanup of a partially constructed instance