diff --git a/core/qa/checker/CbmQaCheckerFileHandler.cxx b/core/qa/checker/CbmQaCheckerFileHandler.cxx
index 75c8d0cd97d7f53b899f36399bf06970fb27f178..93c46c396a0822ca29b3079c7b24cf966d6b0daf 100644
--- a/core/qa/checker/CbmQaCheckerFileHandler.cxx
+++ b/core/qa/checker/CbmQaCheckerFileHandler.cxx
@@ -160,9 +160,18 @@ void FileHandler::Process(Option_t* opt)
       for (int iVer = 0; iVer < nVersions; ++iVer) {
         if (fpObjDB->GetCmpResult(fDatasetID, fFileID, iObj, iVer)) { areDifferent = true; }
       }
-      if (areDifferent) { pObjHandler->CreateCanvases(); }
+      if (true || areDifferent) { pObjHandler->CreateCanvases(); }
     }
     pObjHandler->Write();
+
+    // Clean memory
+    for (auto* pObj: vpObjects) {
+      if (pObj) {
+        delete pObj;
+        pObj = nullptr;
+      }
+    }
+
   }  // iObj
 }
 
diff --git a/core/qa/checker/CbmQaCheckerObjectHandler.cxx b/core/qa/checker/CbmQaCheckerObjectHandler.cxx
index ae1f545e411db3af79e846d1eccf0ae8be2094e9..180f5e59f3d22f589ccd2c143d484f1beb9a5c4c 100644
--- a/core/qa/checker/CbmQaCheckerObjectHandler.cxx
+++ b/core/qa/checker/CbmQaCheckerObjectHandler.cxx
@@ -30,7 +30,15 @@ ObjectHandler::ObjectHandler(int iObject, int iFile, int iDataset, const char* o
 
 // ---------------------------------------------------------------------------------------------------------------------
 //
-ObjectHandler::~ObjectHandler() {}
+ObjectHandler::~ObjectHandler() 
+{
+  for (auto* pObj: fvpObjects) {
+    if (pObj) {
+      delete pObj;
+      pObj = nullptr;
+    }
+  }
+}
 
 // ---------------------------------------------------------------------------------------------------------------------
 //