If the target directory of a submodule get deleted (common method of command line users to reset submodules) the Submodule.WorkDirCommitId deadlocks attempting to read the ObjectId.
Similarly, the IndexCommitId and HeadCommitId can get "stuck" when the disk is in an unexpected state.
I'll take ownership of this issue and try to get a PR up today to resolve it.