I believe one of the reasons (maybe the main reason) for that Code Analyzer warning is to avoid accidentally getting into a recursive situation. Consider:
x = 0;
y = 0;
function obj = set.x(obj, newx)
obj.x = newx;
obj.y = obj.y + 1;
function obj = set.y(obj, newy)
obj.y = newy;
obj.x = obj.x + 1;
Construct an instance of this object then try to update one of its properties.
q = classWithRecursionProblem
q.x = 1
You should receive an error indicating that there's a problem with recursion. The set method for the x property causes the set method for the y property to be called and the set method for the y property causes the set method for the x property to be called. It's like a pair of dictionary definitions: "Loop, infinite: see Infinite loop" and "Infinite loop: see Loop, infinite".
Note also that this is a Code Analyzer warning not a Code Analyzer error. As long as you avoid trying to assign to another property inside a different property's set method you're probably okay. Actually, reading the Details for that Code Analyzer warning they describe another somewhat related scenario related to loading objects, linking to this documentation page that provides more information.