The original code had at least two OpenACS caused memory leaks: it led to an unbounded growth for __template_cache_value and did not unset the nsv variables __template_*_timeout. This bug led openacs.org to a broken state (forums posting lead to the message "Not enough memory to allocate the list internal rep"). The new code makes use of the per entry expire feature of ns_cache and emulates the behavior otherwise.