Hi Teee,
I did not run your procedure but with large queries and/or lots of outputs you should first set "Results to Text".
Otherwise you run into this error, which basically means you are running out of memory. :w00t:
Edit: MS also encourages to SET NOCOUNT ON in procedures.
Enjoy,
Sparky