KeepReferenceAttribute
This attribute indicates the parameter will be referenced by the return
            object, hence its DS wrap object shouldn't be disposed even it is out
            of scope. The life-cycle of parameter will have the same life-cycle as
            the return object.
            
            Note the type of return object should be reference type, either a
            pointer or an array.
            
public KeepReferenceAttribute()
