I just ran into this and I'm wondering why a ui:field is required? In our case, the object is self contained and after creation isn't referenced by the code that creates the object. Is this requirement really necessary??
I know the workaround is easy, its just that making us developers troubleshoot an error that seems to be a completely valid use case with very little info seems wrong. If nothing else maybe a better error message should be output?