my initial post was found to be wrong, Ram only appears to be consumed on one engine but inspecting the line further, they all are maxed out. Proxies (and their Virtual Proxy/Proxies) > Engines
Under Proxies > Engines, all engine nodes are listed. So basically any engine can serve up any application at a given time, like the default behavior. We are just experiencing performance issues likely due to cache warming issues duplicating the ram footprint.
Ahh. So architecturally the key thing to keep in mind is that Load Balancing in Qlik Sense at current is pure round robin. Practically if you know you have a massive app, you would likely want to pin that app to 1 engine using Load Balancing Rules and distribute the rest to the others (or all apps but big app to all front end engines and big app to just 1 front end engine).