I just rewatched the episodes when Bree decides that she doesn't love him and it makes me sad. She never gave him any chance. She just decided that she doesn't love him anymore. He even stopped stealing everything. I understand that she had enough of him but she should have given him a second chance.
You are forgetting the later episodes, where she does give him another chance after his injury, and he ultimately is the one who leaves her. Then she ends up eventually giving him ANOTHER chance towards the end of the series, only to find out he's a manipulative ass who was messing with her head and trying to isolate her from her friends.
The first time Bree gave him a chance because she was scared to end up in hell. The second time was so over the top. The writers just destroyed his character.