from my experience with making Bitcoin transactions, when you make a transaction, your wallet automatically checks for addresses in your HD wallet which can be able to pay for the whole transaction with a single output. During the process of the transaction, the remaining coins from that address you spent from is moved to a new address as an input known as the change address.
In addition, if a single address can't pay for a particular transaction, the wallet will pick from as many addresses possible moving them as a single output to an address, then the compiled coins in the new address is used as a second output to pay for the transaction , after which a change if available will be returned to a change address.
My guess here is that the OP is actually using a bad wallet that takes all the UTXO available in the address to mark a single transaction not checking like the usual wallets we know of as to maybe the transaction can be covered with just one single UTXO.
A little note to OP it is not a must that a change is sent to a new change address but it can also be sent to the same address that the transaction was made from. You simply need to indicate it. An example is the electrum wallet that allows you to specify the address you wish to have change sent back too but it definitely affects one’s privacy