Why modpack RAM does not grow in a straight line
What fills the heap is not the mod jar, it is what the mod registers on startup: blocks, items, fluids, recipes, tags, entities and classes generated at runtime. One tech mod with thousands of recipes weighs more than ten decoration mods put together.
The other source is the world. Every dimension a mod adds carries its own chunks and its own entities for as long as somebody is in there. The memory graph has steps, not a ramp: it rises at boot, settles, and rises again when someone opens a dimension or starts a factory that holds chunks loaded. Sizing by the first day figure is what jams the server in week two.