I cleaned out your code to just create an array of 10 images, then use the JPEG decode to decompress an array of 256 image strings. I ran the loop with a 1 second delay. Each second, I saw the memory used by LV jump about 300k, which is the size of one image. After the first 10 images, the size stopped increasing and held steady as the images were replaced.
I don't think the JPEG decode is producing your memory leak. You might want to monitor the size of your string in your shift register at the top of the diagram. That is the only other item I can see that might be growing steadily.
Bruce
Bruce Ammons
Ammons Engineering