How does the recipient use the bitcoin he receives?
Stealth addresses require you to scan all the transactions of the blockchain It is a fairly inefficient process but the stealth address implementations that I've seen have two improvements:
- prefix: each stealth address has a required prefix and you must bruteforce your txid to match the prefix encoded in the stealth address. That way the receiver must only test a subset of transactions.
- dual-key system: a scanning key is introduced to allow the receiver to scan whilst their wallet is locked.
In the recipient wallet, does he have a list of those generated address (made by the sender)?
Yes. A new address is derived from the stealth address and the ephemeral key (provided in the additional output with OP_RETURN). This address is then imported into the wallet.
How would he then use those bitcoin without revealing transaction linkability?
Transaction linkability generally means that you can not link a transaction to a published address (obfuscating the destination). The concept you're aiming at, is transaction traceability (when creating a transaction, how do I obfuscate the source output).