Can a programming language be designed to use a fixed amount of memory?
Yes. At least one variant of C supports this. Its call stacks are bounded in size: you can't call functions within functions indefinitely. It is used for embedded devices.