COMPMID-2098: Scope handling of memory group resources.

Change-Id: Ie945526bd7845301458039edf3129253c1808505
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/938
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/runtime/NEON/functions/NELSTMLayer.cpp b/src/runtime/NEON/functions/NELSTMLayer.cpp
index a0adbb0..3d3c6a1 100644
--- a/src/runtime/NEON/functions/NELSTMLayer.cpp
+++ b/src/runtime/NEON/functions/NELSTMLayer.cpp
@@ -92,7 +92,7 @@
                                                      scratch_buffer->info(), output_state_out->info(), cell_state_out->info(), output->info(),
                                                      lstm_params_info, activation_info, cell_threshold, projection_threshold));
 
-    const TensorShape cell_state_shape   = cell_state_in->info()->tensor_shape();
+    const TensorShape cell_state_shape = cell_state_in->info()->tensor_shape();
 
     // Configure block that calculates the forget gate
     // forget_gate = Activation(input * input_to_forget_weights + output_state_in * recurrent_to_forget_weights + PixelWiseMul(cell_state, cell_to_forget_weights) + forget_gate_bias)
@@ -493,7 +493,7 @@
 {
     prepare();
 
-    _memory_group.acquire();
+    MemoryGroupResourceScope scope_mg(_memory_group);
 
     _concat_inputs_forget_gate.run();
     _fully_connected_forget_gate.run();
@@ -567,8 +567,6 @@
     NEScheduler::get().schedule(&_copy_output, Window::DimY);
 
     _concat_scratch_buffer.run();
-
-    _memory_group.release();
 }
 
 void NELSTMLayer::prepare()