Attemped fix for the memory problem.
diff --git a/src/main/java/org/testng/reporters/FileStringBuffer.java b/src/main/java/org/testng/reporters/FileStringBuffer.java
index c819f27..80e774e 100644
--- a/src/main/java/org/testng/reporters/FileStringBuffer.java
+++ b/src/main/java/org/testng/reporters/FileStringBuffer.java
@@ -6,6 +6,7 @@
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.Reader;
+import java.io.StringReader;
 import java.io.Writer;
 import java.util.Random;
 
@@ -42,22 +43,22 @@
 
   @Override
   public FileStringBuffer append(CharSequence s) {
-    m_sb.append(s);
-//    if (m_sb.length() > m_maxCharacters) {
-//      flushToFile();
-//    }
-//    if (s.length() < MAX) {
-//      // Small string, add it to our internal buffer
-//      m_sb.append(s);
-//    } else {
-//      // Big string, add it to the temporary file directly
-//      flushToFile();
-//      try {
-//        copy(new StringReader(s.toString()), new FileWriter(m_file));
-//      } catch (IOException e) {
-//        e.printStackTrace();
-//      }
-//    }
+//    m_sb.append(s);
+    if (m_sb.length() > m_maxCharacters) {
+      flushToFile();
+    }
+    if (s.length() < MAX) {
+      // Small string, add it to our internal buffer
+      m_sb.append(s);
+    } else {
+      // Big string, add it to the temporary file directly
+      flushToFile();
+      try {
+        copy(new StringReader(s.toString()), new FileWriter(m_file, true /* append */));
+      } catch (IOException e) {
+        e.printStackTrace();
+      }
+    }
     return this;
   }