Существует по крайней мере две причины, по которым следует избегать использования IsReference:
Во-первых, это снижение производительности, поскольку весь сериализатор должен выполнять проверку идентичности для каждого объекта, который должен быть сериализован.
Во-вторых, DataContractJsonSerializer не может сериализовать объекты, помеченные атрибутом IsReference.Так что, если вам нужно поддерживать Xml и Json, вы не сможете его использовать.
Кроме тех, я не вижу причин, чтобы не использовать его.В конце концов, это экономит драгоценную пропускную способность!