Adding lock and reset call_ in ~ClientContext to avoid race condition (#30270)

* Adding lock and reset call_ in ~ClientContext to avoid race condition

* Remove lock in ~ClientContext
diff --git a/src/cpp/client/client_context.cc b/src/cpp/client/client_context.cc
index a6c5c70..72ba65f 100644
--- a/src/cpp/client/client_context.cc
+++ b/src/cpp/client/client_context.cc
@@ -79,6 +79,7 @@
 ClientContext::~ClientContext() {
   if (call_) {
     grpc_call_unref(call_);
+    call_ = nullptr;
   }
   g_client_callbacks->Destructor(this);
 }