runMigration defaults automaticForgetMigration to true, so it is possible that by the time we (manually) call recipientForgetMigration, the state doc could have already been cleaned up. we should disable automaticForgetMigration and explicitly call recipientForgetMigration to make it more obvious what the test is doing.
likewise, tests in this file also mark state docs as garbage collectable and then run queries for said state docs, which means we can run into race conditions if the doc is cleaned up before we query it.