Search a directory structure for tar files and report on their size
The biggest complaint I would have with this code is that you're essentially defining your size map twice.  Imagine if you decide you don't want to report on files between 50 and 75MB - you remove the "75" entry from the dictionary, but forget to remove it from the MakeDictionaryKey method, and your program will occasionally fail at runtime.

First, I'd consider modifying your dictionary so instead of using "999" as a synonym for "really big file", you use int.MaxValue:

        , {100, 0}
        , {int.MaxValue, 0}


In your MakeDictionaryKey method, you're then looking for the smallest key value where the key value is greater than the file size you've provided to it.  With a bit of LINQ, that simply becomes:

private static int MakeDictionaryKey(int n)
{
   return sizeMap.Keys.Where(x =&gt; x &lt;= n).Min();
}