Use New() and Delete() instead of C++ new and delete.
diff --git a/src/core/lib/support/reference_counted.h b/src/core/lib/support/reference_counted.h
index ebd620c..e71b4fc 100644
--- a/src/core/lib/support/reference_counted.h
+++ b/src/core/lib/support/reference_counted.h
@@ -39,6 +39,10 @@
   ReferenceCounted& operator=(const ReferenceCounted&) = delete;
 
  protected:
+  // Allow Delete() to access destructor.
+  template<typename T>
+  friend void Delete(T*);
+
   explicit ReferenceCounted(TraceFlag* trace_flag) : trace_flag_(trace_flag) {
     gpr_ref_init(&refs_, 1);
   }