Hi Ghalib,
You can use an update panel inside your control and you can add your own button to save "Education Info" or whatever your additional information is. That should work on the profile page.
For fields required at registration it is a trickier problem if the user is not yet created it would not be possible to save your data with the userid or userguid until the user is created.
It might be best to stick with the built in profile system for fields required at registration. I don't have any perfect solution but I can suggest some ideas.
You can use the validationgroup "profile" on your custom required field validators, that will at least require the user to enter your custom data.
While you can't really participate in the button click event for the outer page, your page load event will fire and if(Page.IsPostBack) you could look for your fields in the the request parameters or check your control values and maybe have an opportunity to save if you can obtain the SiteUser object.
You could implement a UserRegisteredEventHandler which will fire after the user is registered. You could try to access your control from there maybe by .FindControl and then call a method on it to save the data. If that doesn't work you should be able to at least get access to the raw posted form variables via the Request object.
Alternatively you might consider not having a lot of fields required to enter right on the registration page since it would be easier after the user is created. You could implement a custom HttpModule and plug it in via Web.config and in this module you could check the status of authenticated users and if the required data is not there force a redirect to the profile page so they can't go anywhere else until the data is completed. Since the user is already created it will be easier to work with your own button inside your ISettingControl. Notice how the Newsletter preferences in the profile page is like this, it has its own button and uses an updatepanel.
Hope these ideas help,
Joe