Everything was Catherine's fault
I dont like the character of Catherine at all and feel everything that happened was her fault and it easily could have prevented. First in the beginning when she sees the text message sent from one of David's student to David's phone, and she got suspicious of cheating, I really dont understand why she didnt just ask David about it.
Then later on for the entire plot, when she met with Chloe and Chloe lied about sleeping with David and him coming on to her, why would she believe a stranger like Chloe (even though she made it very believable!). If Catherine was that worried, a good wife would have confronted her husband and simply make further hints then ask directly ask what's going on. All she did was waste her money spending on Chloe!
The writers made her character far too unlikable and bitchy but it did make sense why the son and David didn't really like her.