Are ResourceGroups mandatory?

All resources are referenced from a Release in the ReleaseResourceReferenceList. This list is, however, only a "bill of material" it does not state how the resources make up the release. This is done in the ResourceGroup structure. It is therefore mandatory to include all resources into the ResourceGroup, together with the indicator whether a resource is "primary" or a "secondary"

Therefore the answer to the question is "yes" – even for "flat" Releases such as singles. 

Even if a sender or recipient cannot handle hierarchies as their internal (and consumer-facing systems), they need help in mapping hierarchical information to a flat structure. The same applies to he ability to express releases with multiple levels of ResourceGroups. The table below lists the number of ResourceGroup typical releases may have:

Type of Release

Number of ResourceGroup levels
for Main Releases

Number of ResourceGroup lebels for Component Releases

Single

2 (Release level + Resource Level)

1

Album

2 (Release level + Resource Level)

1

Album with multiple Disks

3 (Release level + Disk Level + Resource Level)

1

Album with multiple Disks of two sides

4 (Release level + Disk Level + Side Level + Resource Level)

1

Classical Album

2+ (the exact number depends on the hierarchy of works contained in the release (see Table 3 in Clause 5.2.5 Classical Album of the Release Profile Standard)

1

Details can be found in the Release Profile Standard in Clauses 5.1.1 Release Structures for Main Releases and 5.1.2 Release Structures for Component Releases of the Release Profile Standard.