As you can trivially find out, Unreal Engine is written in C++.
The reason the Unreal editor requires a minimum of 32 GB of RAM, is the same reason that any other large content creation tool requires a lot of RAM: Content is big!
On Linux, especially, the graphics drivers in the kernel tend to want to keep one copy of every texture or vertex buffer or other object in main RAM, and another copy on the graphics card (because the OpenGL API requires this, for technical reasons!) whereas on Windows, the DXGI infrastructure can “move” certain objects onto the graphics card directly, freeing up some system RAM. This can explain a slightly bigger footprint on Linux that Windows, specifically. But, even on Windows, it’s usually a good idea to have at least 2x the system RAM as you have video RAM, and ideally 4x or more. With an 8 GB RAM graphics card, this means 32 GB of system RAM.
Additionally, content, during development, is generally bigger than content, once optimized and baked down to runtime game format. There’s a number of reasons for this, and it’s not always true, but it’s frequently the case that you’ll need 4 MB in editor for something that’s 1 MB when baked for release.
The excruciating technical details are all available if you check out the source code from GitHub, build it yourself, and step through the various functions of the engine. I highly recommend it – it’s very, very, educational! (And there’s a lot there …)