There are many different string searching algorithms. Depending on what you are searching for, how long the strings are, etc. will effect the efficiency of these algorithms.
So, what are you searching for? Are you searching the same string multiple times? How long is the search string? How long is the string you are searching for? Are you trying to find all occurances or just the first?
Did some playing around and found putting the search into a separate function increased the speed by a factor of approximately 4(i.e. on my machine original code was 1200-1300, the new code 300-400) You also switched to using a char for the seek parameter versus char which is the the reason for the speed increase not the fact that it hidden under another function.
If the OP would change: str.IndexOf(",", 0) to str.IndexOf(',', 0) the factor of 4 performance boost would also be observed.
So there is a lesson in this; when seeking for one char use the char overload not the string overload.