Tu amigo intenta decir que un proceso no se puede partir y ejecutarse en ambos núcleos. Lo cual es cierto. Si un programa no está pensado para paralelizarse pues, difícilmente se puede hacer.
Pero eso no significa que el SO no sea capaz de repartir sus procesos entre los recursos de que dispone. Si tiene cuatro núcleos, dos, o los que sean pues mejor para él. Podrá tener mas procesos ejecutándose a la vez repartidos por los núcleos.
Para que te hagas una idea, yo si me pongo a comprimir un fichero y no habilito el multithread en mi compresor, el uso de CPU a duras penas alcanza el 24%. Y esto es así porque un proceso no se ejecuta del tirón, va cambiando de núcleo según sufre interrupciones y consume su tiempo de CPU (su quantum). En cambio si lo habilito se sube al 90% y tarda casi una cuarta parte del tiempo que tardaba inicialmente. Esto es porque dicho proceso se convierte en varios y ocupan todos los núcleos a la vez.