Acho que sua melhor metodologia é usar uma ferramenta como Process Explorer e tentar vincular o congela a um processo particular. Ou seja, qual processo está na CPU quando o problema acontece? Você deve começar limpando quantos processos não essenciais forem possíveis e ter seu sistema rodando enxuto (talvez até em modo seguro, sem rede ou unidades externas) e ver se o problema ainda acontece. Se isso não acontecer, você poderá adicionar processos de volta, um de cada vez, e verificar se é possível isolar o culpado. Se isso acontece no modo seguro / enxuto, você tem um problema mais profundo e pode começar com as coisas que estão realmente em execução nesse modo.
Por comentário: Você pode usar o perfmon e adicionar o uso da CPU e da Rede para ser rastreado e ter o log do perfmon ao longo do tempo. Dessa forma, quando você tiver um congelamento, poderá voltar e examinar os logs do perfmon no momento e ver se consegue correlacionar qualquer coisa.