[Edit]: I am making the changes you suggested, but we only have one mapping person and I will need to wait until he is available to test.
You are correct; I'm not doing any threading with this add-in (that's not a bad idea, but I'll have to leave it for a later date).
What we're trying to do is create a search function that will search multiple layers and fields in those layers for user-entered text. I'm not as familiar with ArcObjects as I'd like to be (so I'm likely not doing this in the easiest of ways). I was using the ARLayer.QueryARFeatures method to search for text in the layer fields. I was doing it this way because I found some similar code on the forums and adapted it for our immediate needs. If there's an easier or better way to do this, please let me know.
Thanks!