Какой архитектурный паттерн лучше всего подходит для создания геометрических фигур?
В паттернах необходимо отталкиваться от функционала. Сначала надо определиться не с тем, как сделать красивее или быстрее, а с тем что точно нужно сделать.
Если вам надо, чтобы выводился текст, который целиком зависит от данных которые привязаны к фигуре, то делайте интерфейс 
public interface ITalkingShape
{
string SayAboutYourself();
}

public class Square : ITalkingShape
{
  string SayAboutYourself()
  {
    return $"figure is square. ■\nIts area is {Shape.GetArea(shape)}.\nIts perimeter is {Shape.GetPerimeter(shape)}.\n\n";
  }
}

public static void Display(ITalkingShape shape)
        { 
Console.WriteLine(shape.SayAboutYourself())
}

Думаю никаких паттернов вам не надо.
Ну самое примитивное - фигура должна сама о себе предоставлять информацию. Т.е. у Shape нужен метод GetInfo.