When Egit is running, it is not possible to delete a git repo on the file system because pack files are locked:
rm: cannot unlink `jgit/.git/objects/pack/pack-5f87d8380c8a25f269d2ecd008a4bcfc4b71de28.pack': Permission denied
I saw pack files are opended here and it seems they are not closed afterwards:
Thread [Worker-3] (Suspended (breakpoint at line 367 in org.eclipse.jgit.lib.PackFile))
org.eclipse.jgit.lib.PackFile.doOpen() line: 367
org.eclipse.jgit.lib.PackFile.beginWindowCache() line: 352
org.eclipse.jgit.lib.WindowCache.load(org.eclipse.jgit.lib.PackFile, long) line: 302
org.eclipse.jgit.lib.WindowCache.getOrLoad(org.eclipse.jgit.lib.PackFile, long) line: 386
org.eclipse.jgit.lib.WindowCache.get(org.eclipse.jgit.lib.PackFile, long) line: 197
org.eclipse.jgit.lib.WindowCursor.pin(org.eclipse.jgit.lib.PackFile, long) line: 158
org.eclipse.jgit.lib.WindowCursor.copy(org.eclipse.jgit.lib.PackFile, long, byte[], int, int) line: 87
org.eclipse.jgit.lib.PackFile.readFully(long, byte[], int, int, org.eclipse.jgit.lib.WindowCursor) line: 323
org.eclipse.jgit.lib.PackFile.reader(org.eclipse.jgit.lib.WindowCursor, long) line: 474
org.eclipse.jgit.lib.PackFile.get(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 195
org.eclipse.jgit.lib.ObjectDirectory.openObject1(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 228
org.eclipse.jgit.lib.ObjectDirectory(org.eclipse.jgit.lib.ObjectDatabase).openObjectImpl1(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 224
org.eclipse.jgit.lib.ObjectDirectory(org.eclipse.jgit.lib.ObjectDatabase).openObject(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 197
org.eclipse.jgit.lib.Repository.openObject(org.eclipse.jgit.lib.WindowCursor, org.eclipse.jgit.lib.AnyObjectId) line: 485
org.eclipse.jgit.revwalk.RevWalk.parseAny(org.eclipse.jgit.lib.AnyObjectId) line: 776
org.eclipse.jgit.revwalk.RevWalk.parseTree(org.eclipse.jgit.lib.AnyObjectId) line: 712
org.eclipse.egit.ui.internal.decorators.DecoratableResourceAdapter.createThreeWayTreeWalk() line: 348
org.eclipse.egit.ui.internal.decorators.DecoratableResourceAdapter.<init>(org.eclipse.core.resources.IResource) line: 104
org.eclipse.egit.ui.internal.decorators.GitLightweightDecorator.decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration) line: 211
org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration) line: 263
org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run() line: 81
org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runtime.ISafeRunnable) line: 42
org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(java.lang.Object, org.eclipse.ui.internal.decorators.DecorationBuilder, org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition) line: 365
org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(java.lang.Object, org.eclipse.ui.internal.decorators.DecorationBuilder) line: 347
org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(java.lang.Object, boolean, org.eclipse.jface.viewers.IDecorationContext) line: 371
org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(org.eclipse.core.runtime.IProgressMonitor) line: 331
org.eclipse.core.internal.jobs.Worker.run() line: 55