I created a graph with some custom parameters to fulfill my requirements. Running these processes as a graph (as opposed to separate operators) drastically changed the run time. In addition, repeated processing seems to take the same amount of time; I am now getting a run time of 6 minutes.
I hadn’t been aware of the extent to which you can use custom parameters in graphs. My main reason for going with three separate calls to the operators was to provide additional operator-specific arguments. I found the Rice detection with Sentinel-1 using SNAP GPT RUS Webinar and step forum post (credit to @marpet ) very helpful.
I’m still not sure why using the operators was resulting in the increasing processing times but I have enough of a resolution to progress so I will flag as solved.