Skip airflow dag run

I have a dag with a single task that runs at every 2 hours. Suppose the run at 2.00pm is running more than 2 hours and ended at 5pm, 4.00pm instance should be skipped and only the one at 6pm should get triggered.
I have used catchup=False in Dag creation but it is not working as expected. What could be the issue?

You’ll also need to set max_active_runs=1 to make sure the scheduler will not start a new run when a run is already in progress