Você começa com um disco rígido virtual (VHD) e esse primeiro VHD é uma nova instalação de um sistema operacional. Quando você cria um instantâneo, ele cria algumas coisas do VHD: uma cópia da configuração da VM em um arquivo .xml, qualquer arquivo de estado de salvamento e um disco diferencial (.AVHD). O AVHD se torna o novo disco de trabalho para todas as gravações, e esse AVHD é o filho do disco de trabalho anterior ao instantâneo (no caso do seu primeiro instantâneo, o disco pai é o VHD).
Quando uma VM é criada em um diretório, dois subdiretórios são criados - \ Snapshots e \ Virtual Machines. O instantâneo é inicialmente vazio e o Virtual Machines contém o arquivo de configuração XML original salvo com um GUID exclusivo (identificador global exclusivo) para o nome do arquivo. Um diretório para criar os arquivos de estado de salvamento (.VSV) e os arquivos de memória (.bin). O diretório também usa o mesmo GUID seu nome.
Escreva alguns arquivos, faça um novo instantâneo, o processo é repetido. Agora você está em seu segundo instantâneo, vamos chamá-lo .AVHD (2) Para fazer referência a alterações recentes no arquivo .VHD original, seu AVHD (2) analisa VHD (1) (AVHD(1) is now known as VHD(1) that is Read-Only, parent to the current AVHD, and this process continues)
e lê essas alterações. Para ler as alterações MAIS VELHAS do que VHD (1), no entanto, seu AVHD atual precisa voltar ao VHD original.
Vamos fazer uma alteração, tirar um instantâneo e fazer outra alteração. Agora estamos no nosso 50º instantâneo! Isso significa referenciar uma mudança em um sistema de arquivos, agora precisamos olhar para o VHD (49). É a mudança no VHD (49)? Não. Vamos olhar de novo ... 48, 47, 46 ..? Não. Para pesquisar uma alteração em um disco antigo, digamos VHD (7), primeiro é preciso examinar os outros 43 instantâneos, porque ele não sabe exatamente onde está essa alteração. Este é um recurso muito intensivo, e pode fazer algo tão simples como um disco muito intensivo de leitura - portanto, os instantâneos não devem ser usados em máquinas de produção (e várias outras razões).
TL; DR Quando você cria vários instantâneos, a VM precisa examinar primeiro cada instantâneo até encontrar o que está procurando. Se você está no seu 50º instantâneo, ele precisa examinar 49 outros instantâneos primeiro para chegar ao VHD original. Isso se torna muito ineficiente muito rápido e diminui a velocidade do disco para um rastreamento. Eu não consegui encontrar uma fonte documentada para os 50 snaps, então parece ser um número arbitrário por causa da eficiência. Fonte