arr consists of 1000 pointers to string objects, so the size of arr would be 1000 * 4 ( bytes) on a 32 bit system, and 1000 * 8 ( bytes ) on a 64 bit system.
It doesn't matter what you set each string to, because the strings are NOT stored within the array arr. The strings are stored within the separate string objects that are pointed to by arr.