I don’t have a way to reproduce it with 3.4 at hand. I believe our primary testing server runs 3.4.6 (I use 4.3 mostly).
We can play games by cutting bits and pieces out, but ultimately you can’t cut the libraries down by much without a lot of manual effort. As you mention, I’m not sure why it says 46 MB is a problem. I’ve compiled on machines with 2 GB, compiling two threads at a time, with no problem.
Off the top of my head, to remove ArchiveManager you’ll need to remove those files from protocols.src.settings (add # in front of those files; preferably everything in its immediate directory “archive” *but NOT all of JD2*) and then modify protocols/jd2/JobDistributorFactory to remove all references to ArchiveManager and its sibling classes (again, everything from “archive”). You might have to start killing code elsewhere to get it to compile after that; it could get ugly fast. Hopefully not.
You said you re-tried this – did it work? 30% of 3GB in cached files is expected memory usage for one threaded compiling.