If both sides (sender and receiver) use stealth addresses, this means that Monero is fully anonymous right?
I would hesitate to say yes here, only because Monero can be both 'fully anonymous' and 'fully transparent' within the same blockchain.
While it does offer untraceability and unlinkability through ring signatures and stealth addressing, you are given the choice of a mixin value with which you want to 'mix' your pennies with. In this sense, you can mix with anywhere from zero pennies to, say, twenty pennies.
When choosing a mixin of zero, you do not use mixins and your transaction becomes traceable. You still use stealth addresses no matter what, so that the receiver may choose to retain their unlinkability and untraceability when in the future they decide to use the money they have received.
To retain your own personal unlinkability and untraceability, this would best be done using two wallets. Have the sender, who chooses to use a zero mixin (Example: Poloniex), send the funds to a one-time wallet created by yourself that you control, and then send those funds to your personal wallet with funds you wish to keep unlinkable and untraceable.
This will be at the expense of transaction fees for you, likely less than .1 XMR.
Additionally, if you were aware that the person you were sending funds to was going to choose to not use mixins, and you wish your funds to not be traced to the transaction in the future, then you may send funds to a second, disposable, wallet that you control for the sake of this one transaction, and send the funds to their destination from your interim wallet so that your money remains unlinkable and untraceable to your original coins.
Consider your interim wallets like a bank deposit. While banks generally collect your SS#, or some identifying information that permanently links your identity to your account, Monero does not. The bank deposits are linkable, but the 'cash' going into them from untraceable and unlinkable wallet funds are not. Somewhat like you're temporarily 'borrowing' someone else's bank account for a single transaction.
Understand that the method described above are precautionary measures, on the grounds that you are making the choice to not place your unlinkability into any type of unknown. If you are 100% positive that the wallet you're sending Monero to will be using a mixin value, then there is no need to make this decision at all. It's all your choice though.
Additionally, your wallet creates a view key when you create a new wallet. It is not capable of deriving this key from your wallet address, and it is not stored on the blockchain, but is published only once the very first time you create a wallet. If this view key is shared with a third party, it will give them the ability to observe both the wallet addresses you sent money to as well as the actual amount of the transaction. The third party does not have the ability to control the funds in the wallet, however. The wallet does not currently have the tooling incorporated to allow this functionality to be used by regular users, but mymonero.com does use this functionality in providing you a web wallet. The tooling will be included in the standard user wallet in the future.
Finally, a standard transaction will allow a transaction ID to be added to every transaction. This data can be used for anything, or nothing at all. For example, it can be used to provide tracking between you and another person without the use of the view key.
So, as far as 'fully anonymous' goes, I would say that is only a part of Monero, and not the entire deal.