The DBContext required by the test setup and teardown is being loaded when the test setup executes, which results in this error. Because the first context was loaded during setup, it is based on a "old" version of the database, the one from before the test was run. A different context performs a database change between setup and teardown.
The issue can be resolved by not having teardown utilize the same DBContext as setup. In order for Teardown's new DBContext to be loaded using the most recent data, it should be loaded from scratch.
When the customers to be deleted were loaded from the database, I had thought that the data's status at that point was what really mattered. But it seems that what counts is the data's state at the moment the DBContext was loaded.