This concerns this currently deleted question.(*) My opinion is that a program getting out of memory after 3 hours is basically working. It may not be good enough for what's required, but it's exactly as broken as a code too slow for what's required. In the first case you see a crash, in the second you see it running "forever".
With smaller requirements it may work well. It's not fundamentally broken, it's just not good enough.
There may be a bug causing this, but we can't tell it without reviewing it first. I tried to vote to undelete, but it's a moderator's decision.
(*) This question has been basically copied to SO.