Можно воспользоваться статическим методом Array.Resize.
потом удалить массив A методом dispose
У класса Array нет метода dispose, поэтому для освобождения исходного массива делать ничего не надо. Почитайте про управление памятью в .Net Framework и, в частности, про сборку мусора.