Index: trunk/ppMerge/src/ppMergeCombine.c
===================================================================
--- trunk/ppMerge/src/ppMergeCombine.c	(revision 7814)
+++ trunk/ppMerge/src/ppMergeCombine.c	(revision 8069)
@@ -7,4 +7,27 @@
 #include "ppMergeData.h"
 #include "ppMergeCombine.h"
+
+static void memCheck(void)
+{
+    if (psTraceGetLevel(__func__) > 9) {
+        psMemBlock **leaks = NULL;
+        int numLeaks = psMemCheckLeaks(0, &leaks, NULL, false);
+        size_t largestSize = 0;
+        psMemId largest = 0;
+        size_t totalSize = 0;
+        for (int i = 0; i < numLeaks; i++) {
+            psMemBlock *mb = leaks[i];
+            totalSize += mb->userMemorySize;
+            if (mb->userMemorySize > largestSize) {
+                largestSize = mb->userMemorySize;
+                largest = mb->id;
+            }
+        }
+        psFree(leaks);
+        psTrace(__func__, 0, "Memory in use: %zd\n", totalSize);
+        psTrace(__func__, 0, "Largest block: %ld\n", largest);
+    }
+    return;
+}
 
 
@@ -116,4 +139,6 @@
                 pmCellFreeData(cell);
             }
+
+            memCheck();
         }
 
@@ -131,4 +156,6 @@
             pmChipFreeData(chip);
         }
+
+        memCheck();
     }
 
@@ -146,4 +173,6 @@
     pmFPAFreeData(data->out);
 
+    memCheck();
+
     return true;
 }
