It can be connectors problem, not contacts. Mine (Phantom 2 Vision plus V3.0 ) had same problems with all 3 batteries I have. Cleaned contacts a lot of time: no success. Finally bring drone to dealer and they were able to reproduce problem with they own batteries also. Before replacing battery contacts, they suggested to check all power related wires connectors (just to take them out, put back, or just slightly move in case connector was covered with silicone glue: battery data connector phantom board side). After doing this problem was gone. Made more than 30 flights after that and no problems.
After some conversation with dealer, I have a feeling, that it's was problematic small battery data connector which one side connect to battery and the other connect to phantom board (this one covered with glue).
And, by my opinion, it's not related to ultimate flight app: this app only passes error messages, maybe without any filtering, using dji sdk, not produces them.