At least for your example, it is not a problem of "Level Of Detail", nor "Culling" . The VRAM consumption of your model is about 1 GB, which is acceptable. The percentage of occupation of GPU is quite low also.
1) The picking is slow, (Action when you move the mouse over the 3D view, and the brick under the pointer becomes highlighted), which should not be the case with 300 parts.
2) When I select the "Model" node, under "asm_Garden" node, and after the whole scene has become green, drawing time in the 3D view is catastrophic (nearly freezing), even if you are in "OpenInventor" mode, and just want to rotate the view.
3) If I demand the "Scene Inspector" view, it is also very long before I have a response (Completely abnormal, there is not so much informations in this view).
In all cases, it is the CPU occupation that is at 100% of one thread.
It is clearly a case of algorithm optimization, maybe in the "SoFCSelectionRoot" and/or "SoFCSelection" nodes, for problems 1 and 2.
Debugging those performance problems is pretty easy : On Windows, just run this example project with a debug version of FreeCAD (or a release version with PDB files) with Visual Studio, and click on the "Break All" button while waiting for a lengthy action, and you will see what the program was doing.