Crashes occurred because Y_UnloadData would unload the same patch twice, which was the result of Y_SetNullBonus copying "MISSING" to bstruct->patch, thus making the same patch be assigned to two different variables when caching the patch.
Y_UnloadData
Y_SetNullBonus
"MISSING"
bstruct->patch