Fix excessive calls to clReleaseCommandQueue

Use the queue object from the singleton Scheduler to avoid repeatedly
freeing cl::CommandQueue object on the stack.

Resolves COMPMID-6021

Change-Id: I0baf5891a7974cf4c7efad1b13cc5f28e49a2745
Signed-off-by: SiCong Li <sicong.li@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9896
Reviewed-by: Jakub Sujak <jakub.sujak@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/runtime/CL/CLMemoryRegion.h b/arm_compute/runtime/CL/CLMemoryRegion.h
index 1fd8fdb..690a924 100644
--- a/arm_compute/runtime/CL/CLMemoryRegion.h
+++ b/arm_compute/runtime/CL/CLMemoryRegion.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2021 Arm Limited.
+ * Copyright (c) 2018-2021, 2023 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -85,10 +85,9 @@
     std::unique_ptr<IMemoryRegion> extract_subregion(size_t offset, size_t size) override;
 
 protected:
-    cl::CommandQueue _queue;
-    cl::Context      _ctx;
-    void            *_mapping;
-    cl::Buffer       _mem;
+    cl::Context _ctx;
+    void       *_mapping;
+    cl::Buffer  _mem;
 };
 
 /** OpenCL buffer memory region implementation */