As numerous other answers have said, using a StringBuilder either directly or indirectly through string.Join will be much better performance. However, in your example Split & Join, I think we can do even better.
// first, find the n-th (totalremove-th) separating space.
int index = 0;
for(int i = 0; i < totalremove; i++)
{
index = infoseperated.IndexOf(' ', index + 1);
if(index == -1) return ""; // e.g., asked to remove 5 values, but only 3 in the string.
}
// return everything after that point.
return infoseperated.Substring(index + 1);
As long as infoseperated doesn't have any double-spaces, or a space at the beginning, or anything like that, this will be more efficient than splitting & reassembling the string.