Porque o shell não sabe ou se importa com o que é nohup . Só sabe que você disse para executar o X e esperar que ele termine, então é isso que ele faz.
Quando uso nohup , vejo automaticamente "ignorando a entrada e anexando a saída a nohup.out". & é usado para dizer ao sistema operacional para executar o programa em segundo plano. Então, por que não nohup implica & ?
Tags nohup