diff --git a/src/core/security/auth.c b/src/core/security/auth.c
index 92878e3b7e3ce5c8a91954acf1d1b239eed1cd04..9b67d59cb8e6c282c31fb0a14d58a60d8b49077d 100644
--- a/src/core/security/auth.c
+++ b/src/core/security/auth.c
@@ -234,6 +234,9 @@ static void destroy_call_elem(grpc_call_element *elem) {
   if (calld->host != NULL) {
     grpc_mdstr_unref(calld->host);
   }
+  if (calld->method != NULL) {
+    grpc_mdstr_unref(calld->method);
+  }
 }
 
 /* Constructor for channel_data */
@@ -276,6 +279,9 @@ static void destroy_channel_elem(grpc_channel_element *elem) {
   if (channeld->error_msg_key != NULL) {
     grpc_mdstr_unref(channeld->error_msg_key);
   }
+  if (channeld->path_string != NULL) {
+    grpc_mdstr_unref(channeld->path_string);
+  }
 }
 
 const grpc_channel_filter grpc_client_auth_filter = {