Implementation errors in your code, cert mis-issuance, errors in the underlying TLS implementation (certificate parsing and validation errors are quite common) and device compromise are all things to think about.
It might be useful to think about what is your responsibility versus the device vendor's responsibility versus the user's responsibility.
The better approach is to assume your app will get MITMed and reduce how much damage the attacker can do.