You read correctly. Here's a demonstration:
My computer's memory right now (after clearing the workspace, but with some leftovers and plots in place):
>> memory
Maximum possible array: 54699 MB (5.736e+10 bytes) *
Memory available for all arrays: 54699 MB (5.736e+10 bytes) *
Memory used by MATLAB: 1003 MB (1.052e+09 bytes)
Physical Memory (RAM): 32695 MB (3.428e+10 bytes)
* Limited by System Memory (physical + swap file) available.
Allocate a billion element array and check memory again:
>> x = rand(1e6,1e3);
>> memory
Maximum possible array: 46934 MB (4.921e+10 bytes) *
Memory available for all arrays: 46934 MB (4.921e+10 bytes) *
Memory used by MATLAB: 8690 MB (9.113e+09 bytes)
Physical Memory (RAM): 32695 MB (3.428e+10 bytes)
* Limited by System Memory (physical + swap file) available.
Set the variable to []. Most memory is again available (note a small loss):
>> x = [];
>> memory
Maximum possible array: 54578 MB (5.723e+10 bytes) *
Memory available for all arrays: 54578 MB (5.723e+10 bytes) *
Memory used by MATLAB: 1061 MB (1.113e+09 bytes)
Physical Memory (RAM): 32695 MB (3.428e+10 bytes)
* Limited by System Memory (physical + swap file) available.