I am creating an object(obj below) in using and return that object as part of the function return.Will this cause any problem like object will be disposed before I try to us
Your object will have disposed called on it right after you return it. It's still technically useable as it has not been garbage collected, but it will have the Dispose function ran.
The rule I follow in this instance is that the method receiving the object is charged with disposing it. You don't know when that method is going to be finished with it, so it is that method's responsibility to tidy up after itself when it is done.