Thanks for confirming the effect and thanks to everyone else for your input.
My setup is Maple 2015 on 32bit Win7. I was shutting down the Maple session between runs. Running the tests again gave somewhat different results but still with the same effect. This may be due to the fact that I had another and different worksheet open (but not running) when I did the original tests.
This effect is surprising since I wrongly assumed that the memory usage wouldn't change with n since the variables are always overwritten in the procedures. The results suggest that the values of y and yi for different i are being stored (at least for a while) as the procedure is called continuously.
I modified the program to do a gc() inside the loop and this keeps the memory under control, although the run time soars.
Since my real code has memory problems after many loops, I'll try a periodic gc() to see if this helps, although the help system discourages calling gc().