Good suggestion, but I have actually already done that in the meanwhile
I have also found the error for the problem above. I had written the denoised part including the overlap region back into the pixel array in each iteration. As a result, the next iteration received the already denoised overlap region together with the noisy rest.
I introduced a new overlapBuffer, and now it seems to finally work
I currently still have a battery of unused variables that I created when I cleaned up the loop, I will push the new code after taking care of that.
Finally some (low-res) test images.