Found a small bug where I wasn't growing correctly. Works as it should now.
Added an exception that can be thrown when the grow method is called. If there is not enough memory to hold the array, then it will not attempt to continue running the grow method.