An object of type Foo takes the size of 100 ints stored in sequence.
If you create it on the stack, you will be getting it all on the stack.
If you do it with new, it'll be on the heap as part of the object.
This is part of the language specification, I'm not sure what your question is.