As mentioned, it all comes down to the coin selection algorithm. There are many different coin selection algorithms in use by a number of different wallets which optimize for different parameters. In general, coin selection is a hard problem to solve well.
In coin selection, there are a number of things that need to be considered. First and foremost, the amount being selected. Then it also needs to consider the fee and whether to optimize for a lower transaction. While it may seem obvious that you should optimize for a lower transaction fee, the behavior of the coin selection algorithm now effects how it performs in the future. It could work "well" in the short term be not in the long term. The algorithm also has to consider how large the change output will be, if it's too small, it may be unspendable in the future (it could be considered dust).
So for your specific question, it all really depends on the coin selection algorithm in use and what it is optimizing for. And some algorithms are implemented not because they are good, but because they are easy.
For example, your wallet could be using a first in, first out strategy (FIFO). This means the oldest coins are chosen first. So what could have happened is that 0.2 was first, and that's not enough for 0.6. Then it chooses the next oldest coin, which would be 0.8. It's now over the target value, and so 0.2 and 0.8 are the coins selected. A couple of wallets do actually use this naive strategy, and that could be why you see this behavior.
If you want to read an actual scientific analysis of coin selection strategies and how they perform, I would suggest that you read Mark Erhardt's master's thesis on this subject:
http://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf