What brings 3d software to gain weight?
Check out Zipf's law (vsauce youtube video). So functionality is not linearly proportional to code complexity (software size).

Usually 80% functionality takes 20% time to code, but solving all the edge cases, weird interactions, bugs, etc. takes the 80% of time and code.

You can code a nice simple working example, but if you'd like to make it multithreaded, you'd need to link a huge library to the program and make your code more complex. And on a weak laptop you might not even see that big of a change in functionality.

If you'd like to make your program more robust, for example make sure bevel works correctly in all situations, or boolean, this can complicate the code several times more than was the complexity of the original one. It just does not work proportionally.