So is this a real device, or simulator? Is this a single running process of Appium? Or do you occasionally restart it?
I found that if I had a single instance of Appium running through my whole test suite, odd things would happen after a while. But adding the ability to launch Appium “fresh” at the beginning of each suite of tests has helped with this.