Até aqui deu pra entender mais ou menos.
"Criamos um campo itens dizendo que é um Array [] do tipo CC; Aqui nós não dizemos o tamanho da Array. 2 - Ao ser instanciado, esse Array passa a ter cinco elementos (itens = new ContaCorrente[5];)"
Então, sim, primeiro temos que entender que o Array é uma estrutura fixa, ela não se redimensiona no decorrer do código. Diferente da lista, se você declarar que o Array tem 5 posições, mesmo que você esteja utilizando apenas 1 posição, o compilador vai separar um espaço de memória para 5 posições(Mesmo não usando todas? Sim).
Já uma lista nem precisa de declaração de tamanho, ela vai se ajustando de acordo com o que você vai colocando lá dentro.
Com o Array, se você "Redimensiona-lo", na verdade você terá que fazer isso na declaração dele, ou seja aqui ´´´int[] teste = new int[5];`
, mas o que vai acontecer na realidade é fazer o compilador criar outro objeto e em outra posição de memória e obviamente você vai ter problemas.
Sobre isso "Aqui nós não dizemos o tamanho da Array.":
Temos que dizer o tamanho do Array, a declaração correta é esta int[] teste = new int[5];
e não estaint[] teste = new int[];
, isso nem compila. Então você diz, desde o início, qual o tamanho dele.
Isso eu não entendi, acho que esse código não está correto.
"3 - Depois quando queremos adicionar mais um item, o fazemos criando um novoArray, passando a referência da memória para o itens (this.itens = novoArray;)"
Você pode fazer uma estrutura de repetição para adicionar um novo item, neste caso sem estrutura de repetição daria para fazer, mas teria que ser algo assim:
(this.itens[0] = novoArray[0];)
Assim funciona, mas depois olha uma estrutura de repetição para inserir vários itens de uma vez ou imprimir.
Por fim a sua resposta, "Isso significa que o tamanho dessa Array _itens é variável de acordo com o que quisermos?" com base no que eu expliquei encima a resposta é NÃO depois da declaração.
Vale a pena dar uma lida na documentação:
https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/arrays/
https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/language-specification/arrays#array-creation
Também estou estudando, isso ai é com base no que eu aprendi até agora e no que eu aprendi lendo a documentação