In Level 1 Model Building, Size is defined as a List (non-numbered) but the Products shared the same Size List. Not sure what is the advantage here. In a practical situation, my simple thought is that the design should be according to your suggestons in Case 1 or 2 above depending on the assumptions. Any thoughts?
I would concur with @Misbah when it comes to deciding if your list should be numbered or regular.
I would add a few more thoughts though.
If EVERY product shared the exact same size list then normally you would not set the "parent" value for size. Just keep size as an independent list. You would be right in that assumption. For L1, however, you're asked to create the Parent / Child relationship.
The biggest advantage of creating a list with a parent is the ability to aggregate the data. You can also use selective access to restrict what list items people can see / work with.
If the product and size are 1:1 for ALL combinations then I would suggest using size as a property in a system module. There's really no advantage in creating a list.
If the product and size are mostly 1:1 and only a small number have one to many you can denormalize the product list: Chocolate Bar - 300g and Chocolate Bar - 250g for example. This would also assume you don't want/need an aggregation.