In general, Mozart has very few system limitations.
Memory allocation is dynamic.
The number of record fields, the size of arrays and dictionaries, the number of characters in an atom, the number of threads, integer precision, etc., are all limited only by available memory. Memory is requested from the operating system according to need. If memory use decreases, then all unused memory is eventually returned to the operating system. However, a few limits remain. This is currently also shared with 64-bit architectures.