AppLocker maintains a cache to store the file attributes of the applications that are installed on a computer. AppLocker uses this cache to look up the file attributes quickly every time that you start an application, instead of computing those attributes again. When the cache reaches its maximum size, AppLocker removes entries from the cache to make room for new entries. Because of an issue in the way that AppLocker purges entries from the cache, the cache can sometimes become corrupted. In this situation, cache lookups start to fail. Therefore, AppLocker prevents applications from running, even though the AppLocker rules that are configured on the computer allow these applications.
The default size of the cache is large enough that most users will not experience this issue for a long time. Users who run lots of applications are more likely to experience this issue, because the cache reaches a size that triggers the purging logic.