Currently, the lsst package provides the returnCopy SWIG macro to safely wrap member functions returning references.
But to really return an internal reference also in the python bindings, avoiding dangling references, the following macro could be adopted:
%define %returnReference(METHOD)
%feature("pythonappend") METHOD %{ val.__back_ref = self %}
%enddef