Let's say the bot always queries the same addresses. So every time I query addresses 1, 2, and 3, my bot queries addresses 6, 8, and 2. That doesn't do much for my privacy - addresses 1, 2, and 3, are still linked together by the malicious server, even if it wrong thinks addresses 6 and 8 are also linked.
Let's say on the other hand, the bot queries different addresses. So the first time I query addresses 1, 2, and 3, and my bot queries address 6, 8, and 2. The next I connect, I still query 1, 2, and 3, but my bot queries 5, 9, and 1. The next time, 1, 2, 3, and 4, 8, 9. Over time, it is obvious which addresses are the ones I am actually interested in and which are just being added to obfuscate things.
There is also the issue as PN7 rightly points out, that your bot will be querying addresses which have either already received a transaction or will never receive a transaction, whereas you will likely be querying addresses which have not made a transaction but then later do. The way around both these issues that I see would be to create a wallet while offline, pull out a single address to use, and then only after you have received coins to that address, import that address to a new watch only wallet along with 10+ other random addresses which first received coins around the same time as your address did. Then you would be querying 10+ unrelated addresses, all of which were brand new but just received coins around the same time. This is still far from perfect though and seems like an incredibly clunky way to do things when you could just run your own node instead.