Don't put the new texture directly into the material's mainTexture as it will not trigger a rebuild of the draw call for the UITexture (which keeps a duplicate material on the backend). My recommendation would be to userImg.GetComponent<UITexture>().mainTexture = fbProfileImage;
Setting the UI Texture's mainTexture property should trigger the change properly.