GCのある言語でなんでUndoをメモリサイズ単位でやろうと思ったの?
Undo対象がバイナリデータなん?SoftRefのDequeじゃ嫌なん?