RAM and the degrees of freedom
As a first approximation, most of the memory will be spent on storing $10^6$ floating point numbers (one per degree of freedom). Assuming double precision numbers are used, each number takes up 8 bytes, for a total of 8MB.