ReDim allows increasing as well as decreasing an array's size. For this, a new array is created in each instance. The reason for this is that the VB.NET array is a descendant of the System.Array of the.NET Runtime which by definition has a fixed size on creation.