Причина, по которой шаблон .+?(?= )
соответствует только тому, что находится перед  
, заключается в том, что (?=
является положительным косвенным утверждением, которое не использует никаких символов.
Если вы хотите сопоставить все раньше 
и остальные после того, как вы можете использовать 2 группы захвата вместо 3, потому что вам не нужно совпадение для самого  
.
В замене используйте 2 группы $1$2
(.+?) (.+)
Это будет соответствовать
(.+?)
Захват группы 1, совпадение с 1 + символами, кромесимвол новой строки не жадный  
совпадение  
(.+)
захват группы 2, сопоставление 1+ символов, кроме перевода строки
см. .NET regex demo
Если вы хотите сопоставлять только цифры ([0-9]+)
, ваш код может выглядеть следующим образом:
Regex.Replace("10 990 Points", @"([0-9]+) (.*)", m => m.Groups[1].Value + m.Groups[2].Value)
Примечание
В этом классе символов [A-z\s0-9]+
эта часть A-z
соответствует , чем диапазоны a-z
и A-Z