Path Calculator Error with SingleNodeBlocker

I have 2 Enemy and I want to prevent them from standing on the same tile when Update Path. I use

{

// Each Enemy i have create 1 traversalProvider;
traversalProvider = new BlockManager.TraversalProvider(blockManager, BlockManager.BlockMode.AllExceptSelector, new list<SingleNodeBlocker>(){ThisEnemy.blocker});


Path1 = Enemy1.StartPath(Transform.postition, Target);
Path1.traversalProvider1 = traversalProvider1;
BlockUntilCalculate(Path1);
// Block first Node in Path to Path's Target
Enemy1.SingleNodeBlocker.BlockAt(Path1.vectorPath[1] + Transform.postition);

// Enemy2 cannot move to Node block by Enemy1.
Path2 = Enemy2.StartPath(Transform.postition, Target);
Path2.traversalProvider2 = traversalProvider2;

}

I have run some test and find that when use Unlock() in SingleNodeBlocker. Its call

if (!workItemLock.Held) {
			workItemLock = PausePathfindingSoon();
		}

But its not Unlock PathProcess after that in Block() in SingleNodeBlocker. I dont know whether this is problem and i cant fix it.

My Enemy1.Path is work well but Enemy2.Path always return path.error = true without any warning( Just path.vectorPath.count = 0)

This Error Happen ONLY when 2 Enemy stand near the other. I think that the Node block by Enemy1 is on Enemy2.Path, does it right ?

Sorry about my bad english. Thanks for advice!