The PyPy memory usage also keeps increasing linearly during the benchmark, reaching 220MB at the end. The CPython version is using exactly 23MB for the entire run with zero fluctuation. I'm guessing the recursive nature of the program is killing PyPy.
Are you by chance using s += x to create strings? If so, stop. Anyway, my crystal ball is in service right now, you should really give us a chance to look at it.