I hade a tree that made git-gui complain that I had too many loose objects every time I started it (3072 to be precise). Letting git-gui compress it for me didn't help. Neither did git-gc, even with the --aggressive flag.
I noticed that I had a lot of loose files in .git/objects, and suddenly I remembered that there was a command called "git prune". Finally I was able to get rid of those loose objects.
The problem here is probably mostly that I couldn't get any help from git-gui or git-gc. git-gui claimed it would fix the problem for me, but failed. git-gc didn't mention that it left a bunch of files untouched.
-- David Kågedal