Zoredache's answer is correct about how they use a symmetric key for the payload, but to answer your other part of your question.
Public key encryption is not just "Encrypt with public key decrypt with private key". In actuality the only difference between the public half and the private half is which side you decide to tell the world (or make "Public"). If you just call the two keys Key A and Key B, it becomes: "
Anything encrypted with Key A can be only decrypted by Key B (Not even another copy of key A)
Anything encrypted with Key B can be only decrypted by Key A (Not even another copy of key B).
That is how public key crypto works. Here are some practical examples, Assume Key A was kept a secret and is therefor the private key and Key B was posted in a publicly accessible place and therefor is the public key.
So if you want to send a message to everyone and you want them to verify that it came from you and was unaltered while it was being delivered, you would send your message and include a hash of the message encrypted with Key A. Then anyone who has Key B can decrypt the hash, compare it to the message they received, and verify that the message came from you (due to the fact that only a person with Key A could have generated the encrypted payload that successfully decrypted hash, and because you are the only person with Key A it could only come from you). This is called Signing.
Now lets say someone wants to send you a secret message but does not want to reveal who they are. They can encrypt their message with a symmetric key (as Zoredache mentioned symmetric is much cheaper to do) then take that key and encrypt it with Key B and send it to you. Because only Key A can Decrypt something that was encrypted with Key B no other person can see what is in the message that was sent to you. This is how normal encryption works and how SSH exchanges data.