Having a second argument for out, and making sure that argument is always passed back to wherever you got the list from sounds like more work and more prone to error than just getting an NRE.
Some minor improvements:
list=list??newList<T>();list.Add(value);//It can't be null, so ?. isn't needed
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Having a second argument for out, and making sure that argument is always passed back to wherever you got the list from sounds like more work and more prone to error than just getting an NRE.
Some minor improvements: