You need a second variable for the `profile2_load_by_user($obj_user)` function.  What you currently get back is an array of profiles, e.g

    'candidate' => Profile object,
    'person' => Profile object,
    'student' => Profile object

You need to specify the profile in the call and then you just get a profile object back.  Then you can save the profile as it is an Profile object.

e.g. `profile2_load_by_user($obj_user,'candidate');`