To piggy-back/expand upon what Harrison is saying, Cross-app relationships is a fantastic and useful feature. The risk is that doing so pulls both apps into the same CPU/Memory space within the QB cloud. With large user volumes and/or large data sets... this can pose a problem. For example, performing a large data import to App-A will impact the performance of App-B during that import as they are sharing resources when a cross-app relationship exists between the two. Essentially any action on either app will affect that each other due to queuing within the single thread of allotted.
If I remember correctly... the following features/actions within a QB app will pull both apps into the same memory space:
1. Cross-App relationship
2. Report Link with an external App
3. Table-to-Table Imports with an external App
4. ...I think I'm missing one or two others?
NOTE: Connected Tables does not pull the apps into the same CPU/Memory space as it acts more like a traditional ETL (Extract-Translate-Load) process to transfer data between the apps based on a refresh rate that you choose.