Whatsapp wasn't a secure application to begin with. But with so many accounts being compromised the company had to do something, so they introduced the over advertised "END TO END ENCRYPTION" Which is a standard maintained by mostly all others. But yes the keys are generated on the client side and even stored in the same place. As the database is stored on the client side rather than on the server it is a bad idea to store the keys with them too.
Yes there is a possibility that the algorithm they used to encrypt the messages may have a back door or a master key that can decrypt any message. check the WhatsApp Legal page read 7. Limitation of Liability, even if they want to read your messages and you somehow get to know about it, they can easy blame it on a 3rd party. And just for a moment lets cross that line where they ensure that they can't and won't read your messages because if they can encrypt these messages and have access to the keys they sure as hell can read them too. If your conversation is controversial or illegal and they can earn profit by exposing that to a right party there are chances that you are being monitored.
The only security which is added according to me is that now if anyone who tries to tamper/capture my message from the network is gonna get an encrypted cipher rather than plain text.