For instance I use this class in published API:
public class RestEntity
{
public string Prop1{get;set;}
public string Prop2{get;set;}
}
Is deletion of Prop1 from RestEntity backward compatible?
How could this ever be backwards compatible? Once you publicly expose an API, this is part of the contract you're guaranteeing to adhere to.
Imagine you have clients consuming your API and relying on that property...what happens when they start receiving a null/empty string in there? The only thing you might get away with is renaming the actual resource (model/class), assuming the clients are deserializing the JSON into their only copy of the model - but that's sort of a big ask.
You'd be better off looking into versioning your Public API (credits to @peco for the link).