Marlin questions

I'm wondering a few things about Marlin, I'll try to list them in detail below. For the record I am currently using a gMax 1.5+ printer with dual E3D extrusion, PLA main with soluble PVA support, heated bed, using Cura versions 3.2.1, 3.6, and 4.2 (for experimentation purposes), and I'm using Marlin 1.1.1 as my current firmware version (because it was detailed in the dual extrusion upgrade instructions to install Marlin 1.1.1 - I was using 1.1.8 before with a single J-Head)

NOTE: Somehow my post was not approved by moderators, maybe it timed out IDK. Certainly no forum staff have been active on here for some time, and I didn't post anything offensive or bad that would cause it to be rejected. So to keep the length shorter, I'll be asking my questions in the comments below.
1- I read Marlin 2 utilizes more memory for certain functions and if you don't have a printer with an expanded memory, some functions won't work. I am unsure if I have the expansion, so I may be better off going with an older version of Marlin, yes?

2- There's a link in this forum to instructions on installing Marlin 1.1.8, but they stipulate not to use it with Cura 3.2.1. Does this version of Marlin work with Cura 3.6 and 4.2? Has the issue with 3.2.1 been resolved?
3- Is there a reason I was told to roll back to Marlin 1.1.1 to upgrade to dual hotends? I have to assume because of this that either A: there are specific versions of Marlin and Cura that can only work together on specific printers, or B: The forums and resources here are outdated.
4- Are there instructions on how to install Marlin 2? I downloaded it off the Marlin website but there was no clear way to input the config.h files. It appears to be different than previous versions.
6- Which version of Cura should I be using with which version of Marlin for my specific printer and for what I'm doing? Does it matter? The main reason I need to update Marlin is because after rolling back to 1.1.1 I no longer have the Babystep Z or purge PLA options available.