diff --git a/src/ruby/ext/grpc/rb_call_credentials.c b/src/ruby/ext/grpc/rb_call_credentials.c
index 1799940468341742801c64dad5ff77bfe9515fb6..4d719d7541754a9c3c1d7a84ba523a1084748ba7 100644
--- a/src/ruby/ext/grpc/rb_call_credentials.c
+++ b/src/ruby/ext/grpc/rb_call_credentials.c
@@ -115,6 +115,7 @@ static void grpc_rb_call_credentials_callback_with_gil(void *param) {
   params->callback(params->user_data, md_ary.metadata, md_ary.count, status,
                    error_details);
   grpc_metadata_array_destroy(&md_ary);
+  gpr_free(params);
 }
 
 static void grpc_rb_call_credentials_plugin_get_metadata(