diff --git a/unit_tests/data/Test_TensorImpl.cpp b/unit_tests/data/Test_TensorImpl.cpp
index 31fbed4c090f5e4848df12f2bc2ccd36e3aedf9d..5f870acfb44366632474b7290228658d7a4701dd 100644
--- a/unit_tests/data/Test_TensorImpl.cpp
+++ b/unit_tests/data/Test_TensorImpl.cpp
@@ -154,6 +154,10 @@ TEST_CASE("Test addition of Tensors","[TensorImpl][Add]") {
         Tensor T4(T1->dims());
         T4.setDataType(DataType::Float64);
         REQUIRE_THROWS(*T0 + T4);
+
+        delete[] array0;
+        delete[] array1;
+        delete[] result;
     }
 }
 
diff --git a/unit_tests/operator/Test_MatMulImpl.cpp b/unit_tests/operator/Test_MatMulImpl.cpp
index 8a1e589fa0e9a57d712c77a12501d35f5f995bcc..d6e934b4dc8d84e8a595eb74d1af9d2c68c892d1 100644
--- a/unit_tests/operator/Test_MatMulImpl.cpp
+++ b/unit_tests/operator/Test_MatMulImpl.cpp
@@ -101,6 +101,10 @@ TEST_CASE("[cpu/operator] MatMul(forward)", "[MatMul][CPU]") {
             duration += std::chrono::duration_cast<std::chrono::microseconds>(end - start);
 
             REQUIRE(approxEq<float>(*(op->getOutput(0)), *Tres));
+
+            delete[] bigArray1;
+            delete[] bigArray2;
+            delete[] res;
         }
         std::cout << "multiplications over time spent: " << totalComputation/duration.count() << std::endl;
         std::cout << "total time: " << duration.count() << std::endl;
@@ -165,6 +169,10 @@ TEST_CASE("[cpu/operator] MatMul(forward)", "[MatMul][CPU]") {
             duration += std::chrono::duration_cast<std::chrono::microseconds>(end - start);
 
             REQUIRE(approxEq<float>(*(op->getOutput(0)), *Tres));
+
+            delete[] bigArray1;
+            delete[] bigArray2;
+            delete[] res;
         }
         std::cout << "multiplications over time spent: " << totalComputation/duration.count() << std::endl;
         std::cout << "total time: " << duration.count() << std::endl;
@@ -231,6 +239,10 @@ TEST_CASE("[cpu/operator] MatMul(forward)", "[MatMul][CPU]") {
             end = std::chrono::system_clock::now();
             duration += std::chrono::duration_cast<std::chrono::microseconds>(end - start);
             REQUIRE(approxEq<float>(*(op->getOutput(0)), *Tres));
+
+            delete[] bigArray1;
+            delete[] bigArray2;
+            delete[] res;
         }
         std::cout << "multiplications over time spent: " << totalComputation/duration.count() << std::endl;
         std::cout << "total time: " << duration.count() << std::endl;