You are only dealing with ten possible digit-outcomes. At the moment, your algorithm is in the order of n-squared, because for each digit in the original number you iterate through the array again (albeit slightly truncated).
You also don't address what happens if the digit occurs more than three times. I assume that this is ignored deliberately.
What you can do is run through the number once, and adjust the count of a single array. Then run through this array to identify those that have a count of 3. I am not a C# coder, so that following is pseudo code.
Split yourNumber into an array of digits (yourNumberArray) // could be a string array
Create an empty array of 10 elements (countArray) // indexes will be 0-9, which neatly matches what you want to capture - this is not a coincidence.
Traverse yourNumberArray, for each digit increment the corresponding index in countArray
After counting, traverse countArray and output those digits where the count = 3 // or whatever value you want
This will be O(n+10). Not a big deal if you are only talking a few digits, but if you are dealing with a few million digits, a big difference!