Every (real) transaction made with Bitcoin is stored on the Blockchain. Forever. If you are able to send Bitcoins to another address without it showing up on the Blockchain, you are not sending (real) Bitcoins.
So for your question on how to create an anonymous wallet, (public key and private key i suppose) you can do so very easily by generating it on an offline machine (using bitaddress.org for example, how to use it is explained there), and only providing your public key to the services/people that would need to send Bitcoins to you.
This public key will remain anonymous as long as there aren't any
obvious connections to it- making the exchange where you bought your
Bitcoins and that has your credentials and ID send the Bitcoins
directly to that public key for example.
And on how to 'hide' transactions on the Blockchain- it's impossible. You can send Bitcoins through various 'Mixers' (bitmixer.io - or the onion for that link, bitmixer2whesjgj.onion ) to 'hide' the actual destinations of your Bitcoins, or you can send Bitcoins through hundreds of wallets, in the hopes that anyone that might be tracing your digital steps get lost in the transactions.
But like i stated before, every transaction -ever- made on the Blockchain is saved by the many Full Nodes and will therefor never be hidden.
I hope this helped!
Systems using mandatotry stealth addressing (such as cryptonotes) achieve this already, and are in production. – user36303 – 2016-08-19T20:38:15.703
@user36303 In some cases, yes, but in other cases, it's possible to correlate multiple transactions by the same person together. This reduces anonymity to psuedoanonymity. I would wait for more study before relying on those properties. – Nick ODell – 2016-08-19T22:41:05.520
You are right, but I should have mentioned I was talking about the point made in the post I was replying to, rather than some other tangentially related one :) – user36303 – 2016-08-20T09:17:05.193