出来合いのガーベジコレクション処理を使わずに、参照カウントを使って自前でメモリ管理しているのだと思います。 自前でやっているから、一部の処理で参照カウントを減らし忘れて、メモリーリークになっているのでしょう。 POP、SHIFT、代入など、数値配列と文字列配列とで共通の処理になっている所でリークしているようなので、そのあたりの考慮漏れだと思います。