The option 3 looks like a reasonable way to go.
If you observe big memory regressions, you can try low-RAM mode. Low-RAM mode is slower but consumes much less memory. For example, CC tends to use a ton of memory for performance in non-low-RAM mode but CC extremely throttles the memory in low-RAM mode. At the very least, we can say:
- if you still observe big memory regressions on low-RAM mode, it means that we should give up the option 3.
- if low-RAM mode gives you acceptable memory usages, it means that there is a solution for the option 3.