Olá Isac!
Quando se faz a comparação de valores, os valores de duas variáveis inteiras (neste caso) ou outros tipos primitivos, os valores que são atribuídos à variável são comparados diretamente. Isso acontece porque o tipo int tem um valor atribuído a ele. Mas quando vai comparar a contaDaGabriela e contaDaGabrielaCosta, essa comparação é feita referente ao endereço de memória em que os objetos estão alocados. Quando você atribui um novo objeto de uma classe (usa a palavra new), você está associando para essa variável apenas o caminho desta variável na memória.
Neste segundo caso, usando contaDaGabriela == contaDaGabrielaCosta, você está comparando se as referências aos objetos são iguais, mas quando você usa o new, você cria outro objeto na memória, outra referência.
Mas se você comparar contaDaGabriela.Conta == contaDaGabrielaCosta.Conta terá o resultado true, pois está comparando os valores que está dentro da propriedade Conta ao invés do endereço de memória dos objetos.
Segue alguns códigos simples e os resultados:

Ah, os resultados que aparecem algo como ApenasParaTestar.teste são o namespace e o nome da classe. O Guilherme mostrará mais pra frente no curso como faz para trazer uma referência sobre o objeto está alocado na memória .
Espero ter ajudado!
Bons estudos!