Unexpected Behaviour with mavros cmd_vel Command

I am trying to do velocity control of my quad by using /mavros/setpoint_velocity/cmd_vel commands. I am using Pixhawk autopilot with PX4 firmware 1.4.1 in OFFBOARD mode. The target is to hover the quad stably 1.5m above from its landing position. I published twist.linear.z=2 for 0.75 second and z=0 after that to achieve this. From this command quad can achieve around 1.5m height but always it is falling down to the ground instead of maintaining its Z velocity in 0 and hover stably in the reached altitude. I am wondering why the velocity controller not maintaining the Z velocity in zero. I tried several combination of velocity and timing but the result is same.