diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c
index 27440eb75f83dea54485bb1090d1ec5e44c322f4..65e960084518dde43b4503c6b056885a700692a4 100644
--- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c
+++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c
@@ -451,6 +451,7 @@ static void on_dns_lookup_done_cb(grpc_exec_ctx *exec_ctx, void *arg,
   }
   grpc_closure_sched(exec_ctx, r->on_resolve_address_done,
                      GRPC_ERROR_REF(error));
+  grpc_lb_addresses_destroy(exec_ctx, r->lb_addrs);
   gpr_free(r);
 }