I found the cause of the problem.
obj.prop3 is a cell array and changing values in a cell array within a method call seems to not change the object variable after the call is done.
My workaround now is
function prop3 = createC(obj)
prop3 = obj.prop1(obj.prop2);
end
and then set the object parameter in the construcor
obj.prop3 = obj.createC(obj);
.
Has anybody an idea why this is and how to make the changes apear on object level?