Another thing that might be worth calling out is that you'd expect properties to return the same value every time, while with methods this isn't so obvious. For example, I would expect the following to work:

foo.Settings.Interval = 10;
Console.WriteLine(foo.Settings.Interval); // should write 10

On the other hand, if I do:
foo.GetSettings().Interval = 10;
Console.WriteLine(foo.GetSettings().Interval); // not clear if the value will be persisted or if this is a new settings object

This is particularly important when returning mutable collections like arrays (think type.GetMethods(), where you can't modify the methods of the type by updating the returned array).