bitmaps

I have screensaver that uses a roScreen, takes 10 aprox 400x600 bitmaps and flys them around. At a given time interval, it shows a logo screen and downloads a new set of pics and calls the flying-around function again. it can do this 3 times before I get a stack overflow error, And I’m not completely sure what that indicates.
Code below is in the roScreen while loop, which erases the variables and calls Main() again to start the process over.
What to do here ? thanks

 		if m.timex.totalseconds() > 90
            	    DeleteFile("tmp:/z"+curr_photo0.GetName())
					DeleteFile("tmp:/z"+curr_photo1.GetName())
					DeleteFile("tmp:/z"+curr_photo2.GetName())
					DeleteFile("tmp:/z"+curr_photo3.GetName())
					DeleteFile("tmp:/z"+curr_photo4.GetName())
					DeleteFile("tmp:/z"+curr_photo5.GetName())
					DeleteFile("tmp:/z"+curr_photo6.GetName())
					DeleteFile("tmp:/z"+curr_photo7.GetName())
					DeleteFile("tmp:/z"+curr_photo8.GetName())
					DeleteFile("tmp:/z"+curr_photo9.GetName())
					ballbitmap0 = invalid
        			ballbitmap1 = invalid
       				ballbitmap2 = invalid
        			ballbitmap3 = invalid
        			ballbitmap4 = invalid
        			ballbitmap5 = invalid
        			ballbitmap6 = invalid
        			ballbitmap7 = invalid
        			ballbitmap8 = invalid
        			ballbitmap9 = invalid
        			print "Bitmaps Deleted"
            	   	Main()
            	   	exit while
            	   	end if

here is the error

Stack overflow. (runtime error &hdf) in .../pkg:/source/motionscreen.brs(232)

232:         drawing_regions = dfSetupDisplayRegions(screenFull, topx, topy, w, h)