For anonymity’s sake generate new sendable addresses for each transaction, and the receiver (ideally, all of them) should do the same.
You sound confused.
You cannot generate "new sendable addresses" for coins that are being sent in a transaction. Inputs to transactions in the form of UTXOs can only come from the address they were previously sent to. You should generate and use a new address for each time you receive bitcoin from someone else and each time you return bitcoin to yourself as change. But once you have received bitcoin, you can only spend it from the same address which received it. This is the reason you need to be careful about combining different inputs in to the same transaction, because it links those addresses together with common ownership.