mono_gc_reference_queue_add (MonoReferenceQueue *queue, MonoObject *obj, void *user_data)
{
	RefQueueEntry *head;
	RefQueueEntry *entry;
	if (queue->should_be_deleted)
		return FALSE;

	entry = g_new0 (RefQueueEntry, 1);
	entry->user_data = user_data;
	mono_gc_weak_link_add (&entry->dis_link, obj, TRUE);
	ref_list_push (&queue->queue, entry);
	return TRUE;
}
Weaknesses in this category are related to improper management of system resources.