1. http://lists.freebsd.org/pipermail/freebsd-current/2010-Augu...
The limitation, as others have said, is git grep won't match files that are not already checked in.
In a regular directory tree, recursive grep has to open and read directories, stat files, and read (or mmap?) each individual file. The number of system calls is O(N) on the number of directory entries.
"Look for specified patterns in the tracked files in the work tree"
http://git-scm.com/docs/git-grep
Presumably, this would exclude a lot of assets or libraries that aren't part of your branch/repo, don't know what the OP's setup was (are those 11K+ files all tracked?).
I don't know the answer to your question, but the git source is simple and rewards reading.