Having a million instances of anything is gonna take a million times jvm-pointer-size bytes just to store references to them, plus a million times size-of-the-object, plus the memory required to store any objects your objects have references to. So that's gonna be a good chunk of memory.