WhatsApp wouldn't keep the private keys. That being said, this system could still be hacked - when the clients exchange public keys, you insert yourself in the middle, provide your own public keys to each client, and mediate between the two clients, which gives you access to the unencrypted messages.