Ваш текущий код просто переназначает локальную переменную v
на новое значение - оно не ссылается на исходное значение в списке. Это эквивалентно написанию:
foreach(int v in PolygonBase)
{
v += MousePos;
}
Чтобы вернуться к исходному значению, используйте ConvertAll
:
PolygonBase.ConvertAll(v => v += MousePos);