Hello Vaibhav,
As per my understanding,
when lr_core->modify( ) is called then all changes including child objects of root are delegated to API layer and hence data for dependent objects will also be saved when single BO transaction context is accessed using the entity it belongs to as in your case. Other root and its dependent objects still be in buffer.
If lv_bol_core->get_transaction( ) The BOL core aggregates the global transaction context, which includes all modified root objects. The global transaction context logs all modifications automatically.
Regards,
Ashik