Brackets :-)
select (obj).start_date from (select RETURN_OBJ() AS obj FROM DUAL)
You must use a table alias when you like to access functions from OBJECT Types. Try this one:
SELECT t.obj.start_date FROM (SELECT RETURN_OBJ() AS obj FROM DUAL) t;