updated for version 7.0118
diff --git a/src/misc2.c b/src/misc2.c
index db6642e..d677b1b 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -870,10 +870,13 @@
 	if (releasing)
 	    break;
 	releasing = TRUE;
-	try_again = mf_release_all();
+
+	clear_sb_text();	      /* free any scrollback text */
+	try_again = mf_release_all(); /* release as many blocks as possible */
 #ifdef FEAT_EVAL
-	try_again |= garbage_collect();
+	try_again |= garbage_collect(); /* cleanup recursive lists/dicts */
 #endif
+
 	releasing = FALSE;
 	if (!try_again)
 	    break;