I switched to GigPerformer, earlier this year. I’m running 13 instances of Kontakt, across 3 keyboards (6 zones total). I usually have 4-5 of them running, at any given time I was happy to find that GP handles it wonderfully. So I didn’t have bundle any of them into Kontakt Multis; as I did, previously, with MainStage.
When playing intensively, CPU averages 27-30% and it never chokes. Rig is 2011 MacBook Pro 15" 2.5 ghz i7 16GB. I’ve used it with 10.11 El Capitan & 10.13 High Sierra; with similar results. This is FAR better, than my 8 yrs of MainStage. I still think MS is a fine program. That said, by rig is handled far better, with GigPerformer
For those concerned with the RAM requirement of their Kontakt instruments, there is a good way to pare down how much Kontakt loads; into RAM. In the main menu, of your Kontakt instrument, there is a pull down window titled ‘Purge’ (if your are in ‘Snapshot’ view, hit the info icon (next to Snapshot icon) to reveal window (with Output, Midi chan and mem).
Click on the Purge Menu and select ‘update sample pool’. Now play the hell out of that instrument - within the range you normally play. If you have any automation running control parameters, then go thru them. Kontakt will load only what’s needed for that instrument; in that configuration. I was able to reduce my memory load from 8.5GB to 6GB.