I just noticed that the original subject was the in memory size. I was thinking only of the string part itself. There's only a paltry amount . 20 bytes for just the array, plus 4 bytes per dimension. A 2D var length string array would be 28 + data size then. Also, in memory, the size of a string is 2x the number of characters, since VB strings are unicode (2 bytes per char). The file however is just 1 byte per char. I should have mentioned that before but it slipped my mind.