I'm interested in the memory usage of various programming languages when implemented on actual hardware.
I believe that a Turing-complete programming language has, in general, unknowable memory usage since object lifetimes are not statically analyzable . It also seems like a regular expression language (in the deterministic finite automata) has statically known memory use.
What is the most complex programming language for which that is true? And where do total languages  fall in relation to that?
 Given the caveat that we're implementing that programming language on a physical computer with all its requisite limitations.
 A total language is, for the purposes of this question, a language where all programs written in it are guaranteed to terminate.