As a simple application, we can use garbage collector messages to observe that an attempt to sum an infinite list, although non-terminating, will at least run in constant space:
Prelude> :set +g
Prelude> sum [1..]
{{Gc:95763}}{{Gc:95760}}{{Gc:95760}}{{Gc:95760}}{Interrupted!}
Prelude>
Garbage collector messages may be printed at almost any stage in a
computation (or indeed while loading, type checking or compiling a
file of definitions). For this reason, it is often best to turn
garbage collector messages off (using :set -g, for example)
if they are not required.