Você não menciona qual hypervisor está usando, então vou adivinhar o KVM, mas minha resposta também se aplica ao Xen. Quando você configura currentMemory = 16384 e maxMemory = 32768, está dizendo ao KVM para inicializar com 32 GB de RAM e usar o driver de balão para reduzi-lo para 16 GB.
Quando o driver de balão tiver reduzido a RAM para 16 GB, ele nunca será aumentado novamente, a menos que você diga explicitamente ao KVM para aumentar. Não vai se ajustar sem que você diga para
WRT para a contagem de CPU - você não menciona se você configurou a contagem de CPU para 2 antes de inicializar o convidado, ou enquanto ele já estava rodando. Geralmente, a maioria dos SO quer que você configure a contagem da CPU antes de inicializá-la, já que eles não ligam as CPUs automaticamente.
Há uma complicação adicional com algumas versões do Windows - se você tiver apenas 1 CPU quando instalar o Windows pela primeira vez, mesmo se adicionar CPUs posteriormente, elas não serão usadas desde que o Windows foi instalado no modo de processador único. Além disso, algumas versões do Windows suportam apenas um único soquete, mas permitem vários núcleos. Portanto, talvez seja necessário informar ao virt-manager para alterar a topologia da CPU para expor um soquete com dois núcleos, em vez de dois soquetes com um núcleo.