Of course you can leak space in every turing complete language even on purpose, but in case of languages with lazy evaluation (like Haskell) you are no longer able to trivially reason about your programs behavior until execution on real data in real environment.
I agree that Haskell has some good (old) ideas and it is pleasant to Sunday programmers.
And again, if you play fast and loose with allocations you always shoot yourself in the foot. Carelessly allocating thunks on the heap is no different from carelessly allocating data in that regard. Haskell won't save you from yourself.
Judging from the other comments, it's clear you have an axe to grind. I'm leaving this thread as well.
I agree that Haskell has some good (old) ideas and it is pleasant to Sunday programmers.