I discovered that the two UI models (GeneralRenderModel and SnapshotExportModel) were being leaked. I started using weaks and unowneds where I found them to be appropriate to try to prevent recursive references / retain cycles. Also tried to narrow down some references like passing observables where they aren't needed.
Eventually found that the UI connections of each of those models was where they were being retained.
I discovered that the two UI models (
GeneralRenderModel
andSnapshotExportModel
) were being leaked. I started usingweak
s andunowned
s where I found them to be appropriate to try to prevent recursive references / retain cycles. Also tried to narrow down some references like passing observables where they aren't needed.Eventually found that the UI connections of each of those models was where they were being retained.