I think I would lean towards not doing this in a goroutine. If the mutex is locked we likely have bugs elsewhere (which we know we do, of course). Did you hit some specific case where this was blocking? 