Assume that you have read-only secondary replicas in Microsoft SQL Server 2016 AlwaysOn Availability Group (AG). When you use SQL Server Application roles in the replica for the first time, it works as expected. However, when you use them again, the Application roles may fail and you will receive the following error message:
Snapshot isolation transaction failed in database '<DatabaseName>' because the object accessed by the statement has been modified by a DDL statement in another concurrent transaction since the start of this transaction. It is disallowed because the metadata is not versioned. A concurrent update to metadata can lead to inconsistency if mixed with snapshot isolation.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.