I think I disagree on this point.  The question is what would a user expect the following code to do:
```
gal1 = galsim.InterpolatedImage(image=im_file1, noise_pad=noise_file, rng=myRNG)
...
gal2 = galsim.InterpolatedImage(image=im_file2, noise_pad=noise_file, use_cache=true)
```
I think they would be surprised to find that their results are no longer deterministic.  In other words, I think this should be guarded with `if rng:`.  (Or `if rng is not None` if you prefer the double negative!)