You should call rt.Texture.CopyToImage() once and store the result, it is an expensive call.
One always learns something new
... but ... I should have guessed that. Thanks
And I don't get why you're dividing XLIM and YLIM by 1000 and not 1024.
The image is 16000x3000, if I divide by 1024 an space on the image's right and bottom would remain not "painted", because (16000 / 1024) * 1024 = 15360, not 16000. Also it happens with 3000 / 1024.
So I had to divide by 1000 to get all the image "painted", ... or maybe I should have done this?
Math.Ceiling((double)XLIM / 1024.0)
but I didn't worry about that because that "image creating" won't happen on game release, and in this case it is the same