Are you using the Bluetooth controller or just the phone to send commands?
In regards to the uncommanded altitude gain, check that the filter glass over the IR sensor is not dirty or cracked. That can cause it to gain altitude without a throttle up command, but it can also cause it to shut down at altitude because the sensor does not see the altitude change and the Flight Controller in the drone shuts the motors off thinking it is on the ground and can’t lift off.