Muitos programas - infelizmente - não são capazes de multiprocessamento e são executados em um único encadeamento / em um único processador. Alguns usam threads, que podem ser executados em outro núcleo de processador que o programa "principal".
Se você tem um programa que usa apenas um único segmento, ele só precisa de um processador e não faz sentido movê-lo pelas outras CPUs, porque isso leva tempo.
No entanto, você pode ter certeza de que o mapeamento de processos para os núcleos está bem do jeito que está. Consulte o link para obter algumas informações.
E não, os núcleos do processador não sobreaquecem se apenas um deles for usado por algum tempo.