How have you seen dangling reference OOM situations in the real world?
Speaking for a python / Django stack, there's a very concrete reason that these are rarely seen in my experience. Code never lives long enough for it to matter. In any practical situation, workers are recycled at a furious rate. uWSGI will recycle a worker for many reasons, or for no reason at all.
There are plenty of apps out there where, if you changed the settings to make the processes fairly persistent, they would OOM on a regular basic. This might be the vast majority of Django apps out there.
But that's just it - no long trusts python enough to keep it running in the background forever. So OOM like this is a non-issue.
When code lives long enough. If your process is short living, you don't need any form of memory management at all, just allocate and terminate the process when done.
Speaking for a python / Django stack, there's a very concrete reason that these are rarely seen in my experience. Code never lives long enough for it to matter. In any practical situation, workers are recycled at a furious rate. uWSGI will recycle a worker for many reasons, or for no reason at all.
There are plenty of apps out there where, if you changed the settings to make the processes fairly persistent, they would OOM on a regular basic. This might be the vast majority of Django apps out there.
But that's just it - no long trusts python enough to keep it running in the background forever. So OOM like this is a non-issue.