### Body

We have several tests marked in the code base with `@pytest.mark.quarantined`
It means that the tests are flaky and if fail in CI it does not fail the build.
The goal is to fix the tests and make them stable.

This task is to gather all of them under the same issue instead of dedicated issue per test.

- [x] [TestImpersonation](https://github.com/apache/airflow/blob/bfcae349b88fd959e32bfacd027a5be976fe2132/tests/core/test_impersonation_tests.py#L117)
- [x] [TestImpersonationWithCustomPythonPath](https://github.com/apache/airflow/blob/bfcae349b88fd959e32bfacd027a5be976fe2132/tests/core/test_impersonation_tests.py#L181)
- [x] [test_exception_propagation](https://github.com/apache/airflow/blob/76f81cd4a7433b7eeddb863b2ae6ee59176cf816/tests/jobs/test_local_task_job.py#L772)
- [x] [test_localtaskjob_maintain_heart_rate](https://github.com/apache/airflow/blob/76f81cd4a7433b7eeddb863b2ae6ee59176cf816/tests/jobs/test_local_task_job.py#L402)
- [x] [test_exception_propagation](https://github.com/apache/airflow/blob/4d0fd8ef6adc35f683c7561f05688a65fd7451f4/tests/executors/test_celery_executor.py#L103)
- [x] [test_process_sigterm_works_with_retries](https://github.com/apache/airflow/blob/65010fda091242870a410c65478eae362899763b/tests/jobs/test_local_task_job.py#L770)


### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
dag = get_test_dag("test_dagrun_fast_follow")
        dag.catchup = False
        SerializedDagModel.write_dag(dag)
        dr = dag.create_dagrun(run_id="test_1", state=State.RUNNING, execution_date=DEFAULT_DATE)
        dr2 = dag.create_dagrun(
            run_id="test_2", state=State.RUNNING, execution_date=DEFAULT_DATE + datetime.timedelta(hours=1)
        )
        task_k = dag.get_task("K")
        task_l = dag.get_task("L")
        with create_session() as session:
            ti_k = TaskInstance(task_k, run_id=dr.run_id, state=State.SUCCESS)
            ti_b = TaskInstance(task_l, run_id=dr.run_id, state=State.SUCCESS)
            ti2_k = TaskInstance(task_k, run_id=dr2.run_id, state=State.NONE)
            ti2_l = TaskInstance(task_l, run_id=dr2.run_id, state=State.NONE)
            session.merge(ti_k)
            session.merge(ti_b)
            session.merge(ti2_k)
            session.merge(ti2_l)
        job1 = LocalTaskJob(task_instance=ti2_k, ignore_ti_state=True, executor=SequentialExecutor())
        job1.task_runner = StandardTaskRunner(job1)
        job1.run()
        ti2_k.refresh_from_db()
        ti2_l.refresh_from_db()
        assert ti2_k.state == State.SUCCESS
        assert ti2_l.state == State.NONE
        failed_deps = list(ti2_l.get_failed_dep_statuses())
        assert len(failed_deps) == 1
        assert failed_deps[0].dep_name == "Previous Dagrun State"
        assert not failed_deps[0].passed
    def test_process_sigsegv_error_message(self, caplog, dag_maker):