'Clean Ownership' is doing its hat trick I believe.
Ownership actually has two portions: The Ownership Details data class and Asset User Owner or Asset Department Owner resource association. The former is based on the later.
Clean Ownership schedule task is to keep the two in sync. It tries to search for the resource association and then populate the ownership details data class value if the two are out of sync.
So, in your case, you populated the Ownership Details data class without introducing corresponding resource association. Hence when the schedule task gets running, it blows away your half-baked data. Because it cannot locate the resource association data.
My suggestion:
You should create a connect rule and populate the Asset User Owner or Asset Department Owner resource association according to your use case. Then run the 'Clean Ownership' task to generate correct Ownership Details data class data.
Use SQL to find out the resource association type Guid for Asset User Owner or Asset Department Owner:
select i.Guid, i.Name from vItem i join ResourceAssociationType rat on i.Guid = rat.Guid
where i.Name like 'Asset%Owner'
Hope this helps.