What happens if you remove Test D? I'm wondering whether that test is somehow causing expensive setup for the following test.
One general suggestion:
You can split your tests into separate suites, such as
unit suite would be used for tests that do not hit a database, so you can dispense with database setup/teardown.
As well as making your tests faster, it can be helpful when tests fail. If your unit suite passes but your feature suite has many failures, then you immediately know it's a database issue.