a) is a much simpler solution to generate, design & implement than g). From an engineer's perspective, I can appreciate how g) feels like the correct solution, because it's solving the underlying technology problem. From a business perspective, pursuing g) could take a lot of time which could be used to build other parts of the service, which might make the issue disappear.
Really, it's a cost-benefit question -- which takes more time, writing a) and dealing with lots of rebooting, or having someone pursue g)? Or maybe c) is cheaper than g) -- how many programmer-hours equals an extra 16GB of RAM? And if the memory leak isn't that bad (let's say 20 hours between these reboots), then a) can be said to make your service cheaper for your customers too.
Jeff Bezos was literally a billionaire, and many of his team millionaires, before Amazon.com deprecated that solution.