Do both the sending and receiving address belong to the same node? If so you might find that sendassettoaddress is sometimes using funds belonging to an address, to send back to that address. If you want to separate balances between addresses cleanly, be sure to use APIs with from in their name.