VT100ScreenMark leaking
CommandUse holds a reference to a VT100ScreenMark. When a session ends, it is all that's left holding a reference. The bug could be fixed by posting a notification with the session ID as the object, and making -[CommandUse setMark:] listen for the notification for only its session ID, and nil out the mark (which is useless anymore) at that point.
This change should be made in the save_all_state branch prior to merging it.