Currently there is a race condition if the snapshot for an optime is created after that optime is considered "committed". In that case, the snapshot will only be blessed the next time that the committed optime is bumped.
The plan is to move the list of snapshots out of ReplCoordinatorExternalState and into ReplCoordinatorImpl. This will allow us to consider a snapshot "committed" as soon as it is created if it's optime is before the commit point.