Sorry to bump an old topic. I am researching this subject...
Is this correct? Does my wallet save every single address?
Yes.
The getaccountaddress method will return the same address until it is used (until a payment is received on that address).
Why create a new address when a payment is received?
In a few years, won't there be hundreds or even thousands of addresses if bitcoin is used regularly? That would be very "messy" since bitcoin stores all the addresses.
Won't it be "cleaner" if user just reuse existing addresses until the user decide to create a new address?....May be anonymity is not an issue for an user and the user wish to use the same address again and again.