**Apache Airflow version**:
v2.0.0

**What happened**:

Custom operators inheriting from DummyOperator are go in to a scheduled state, where as DummyOperator itself is set straight to success.

**What you expected to happen**:

All operators should be successfully executed.

**How to reproduce it**:

```py
from datetime import datetime
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator

class MyJob(DummyOperator):
    template_fields_renderers = {
        "body": "json"
    }
    template_fields = ("body",)

    def __init__(self, body, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.body = body

with DAG(
    dag_id="test",
    schedule_interval=None,
    start_date=datetime(2020, 8, 13),
) as dag:
    MyJob(task_id="aaaa", body={"aaa": "bbb"})

```

**Anything else we need to know**:
This is a known problem that we will fix, see: https://github.com/apache/airflow/pull/10956#discussion_r502492775
airflow/models/dagrun.py
self,
        unfinished_tasks: List[TI],
        finished_tasks: List[TI],
        session: Session,
    ) -> bool:
        
        
        for ut in unfinished_tasks:
            if ut.are_dependencies_met(
                dep_context=DepContext(
                    flag_upstream_failed=True,
                    ignore_in_retry_period=True,
                    ignore_in_reschedule_period=True,
                    finished_tasks=finished_tasks,
                ),
                session=session,
            ):
                return True
        return False
    def _emit_true_scheduling_delay_stats_for_finished_state(self, finished_tis):
        """
        This is a helper method to emit the true scheduling delay stats, which is defined as
        the time when the first task in DAG starts minus the expected DAG run datetime.
        This method will be used in the update_state method when the state of the DagRun